YES 8.026 H-Termination proof of /home/matraf/haskell/eval_FullyBlown_Fast/FiniteMap.hs
H-Termination of the given Haskell-Program with start terms could successfully be proven:



HASKELL
  ↳ LR

mainModule FiniteMap
  ((elemFM :: Ord b => Maybe b  ->  FiniteMap (Maybe b) a  ->  Bool) :: Ord b => Maybe b  ->  FiniteMap (Maybe b) a  ->  Bool)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  elemFM :: Ord b => b  ->  FiniteMap b a  ->  Bool
elemFM key fm 
case lookupFM fm key of
  Nothing-> False
  Just elt-> True

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM (\key elt rest ->(key,elt: rest) [] fm

  foldFM :: (c  ->  a  ->  b  ->  b ->  b  ->  FiniteMap c a  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Lambda Reductions:
The following Lambda expression
\keyeltrest→(key,elt: rest

is transformed to
fmToList0 key elt rest = (key,elt: rest



↳ HASKELL
  ↳ LR
HASKELL
      ↳ CR

mainModule FiniteMap
  ((elemFM :: Ord a => Maybe a  ->  FiniteMap (Maybe a) b  ->  Bool) :: Ord a => Maybe a  ->  FiniteMap (Maybe a) b  ->  Bool)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  elemFM :: Ord b => b  ->  FiniteMap b a  ->  Bool
elemFM key fm 
case lookupFM fm key of
  Nothing-> False
  Just elt-> True

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  b  ->  a  ->  a ->  a  ->  FiniteMap c b  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Case Reductions:
The following Case expression
case lookupFM fm key of
 Nothing → False
 Just elt → True

is transformed to
elemFM0 Nothing = False
elemFM0 (Just elt) = True

The following Case expression
case compare x y of
 EQ → o
 LT → LT
 GT → GT

is transformed to
primCompAux0 o EQ = o
primCompAux0 o LT = LT
primCompAux0 o GT = GT



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
HASKELL
          ↳ IFR

mainModule FiniteMap
  ((elemFM :: Ord b => Maybe b  ->  FiniteMap (Maybe b) a  ->  Bool) :: Ord b => Maybe b  ->  FiniteMap (Maybe b) a  ->  Bool)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  elemFM :: Ord b => b  ->  FiniteMap b a  ->  Bool
elemFM key fm elemFM0 (lookupFM fm key)

  
elemFM0 Nothing False
elemFM0 (Just eltTrue

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (b  ->  a  ->  c  ->  c ->  c  ->  FiniteMap b a  ->  c
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size


module Maybe where
  import qualified FiniteMap
import qualified Prelude



If Reductions:
The following If expression
if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero

is transformed to
primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y))
primDivNatS0 x y False = Zero

The following If expression
if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x

is transformed to
primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y)
primModNatS0 x y False = Succ x



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
HASKELL
              ↳ BR

mainModule FiniteMap
  ((elemFM :: Ord a => Maybe a  ->  FiniteMap (Maybe a) b  ->  Bool) :: Ord a => Maybe a  ->  FiniteMap (Maybe a) b  ->  Bool)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  elemFM :: Ord a => a  ->  FiniteMap a b  ->  Bool
elemFM key fm elemFM0 (lookupFM fm key)

  
elemFM0 Nothing False
elemFM0 (Just eltTrue

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  b  ->  a  ->  a ->  a  ->  FiniteMap c b  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Replaced joker patterns by fresh variables and removed binding patterns.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
HASKELL
                  ↳ COR

mainModule FiniteMap
  ((elemFM :: Ord a => Maybe a  ->  FiniteMap (Maybe a) b  ->  Bool) :: Ord a => Maybe a  ->  FiniteMap (Maybe a) b  ->  Bool)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  elemFM :: Ord a => a  ->  FiniteMap a b  ->  Bool
elemFM key fm elemFM0 (lookupFM fm key)

  
elemFM0 Nothing False
elemFM0 (Just eltTrue

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  b  ->  a  ->  a ->  a  ->  FiniteMap c b  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt vw fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt vx fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch vy vz size wu wvsize


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Cond Reductions:
The following Function with conditions
lookupFM EmptyFM key = Nothing
lookupFM (Branch key elt vx fm_l fm_rkey_to_find
 | key_to_find < key
 = lookupFM fm_l key_to_find
 | key_to_find > key
 = lookupFM fm_r key_to_find
 | otherwise
 = Just elt

is transformed to
lookupFM EmptyFM key = lookupFM4 EmptyFM key
lookupFM (Branch key elt vx fm_l fm_rkey_to_find = lookupFM3 (Branch key elt vx fm_l fm_rkey_to_find

lookupFM0 key elt vx fm_l fm_r key_to_find True = Just elt

lookupFM1 key elt vx fm_l fm_r key_to_find True = lookupFM fm_r key_to_find
lookupFM1 key elt vx fm_l fm_r key_to_find False = lookupFM0 key elt vx fm_l fm_r key_to_find otherwise

lookupFM2 key elt vx fm_l fm_r key_to_find True = lookupFM fm_l key_to_find
lookupFM2 key elt vx fm_l fm_r key_to_find False = lookupFM1 key elt vx fm_l fm_r key_to_find (key_to_find > key)

lookupFM3 (Branch key elt vx fm_l fm_rkey_to_find = lookupFM2 key elt vx fm_l fm_r key_to_find (key_to_find < key)

lookupFM4 EmptyFM key = Nothing
lookupFM4 vvu vvv = lookupFM3 vvu vvv

The following Function with conditions
compare x y
 | x == y
 = EQ
 | x <= y
 = LT
 | otherwise
 = GT

is transformed to
compare x y = compare3 x y

compare1 x y True = LT
compare1 x y False = compare0 x y otherwise

compare0 x y True = GT

compare2 x y True = EQ
compare2 x y False = compare1 x y (x <= y)

compare3 x y = compare2 x y (x == y)

The following Function with conditions
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd' x vvw = gcd'2 x vvw
gcd' x y = gcd'0 x y

gcd'0 x y = gcd' y (x `rem` y)

gcd'1 True x vvw = x
gcd'1 vvx vvy vvz = gcd'0 vvy vvz

gcd'2 x vvw = gcd'1 (vvw == 0) x vvw
gcd'2 vwu vwv = gcd'0 vwu vwv

The following Function with conditions
gcd 0 0 = error []
gcd x y = 
gcd' (abs x) (abs y)
where 
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd vww vwx = gcd3 vww vwx
gcd x y = gcd0 x y

gcd0 x y = 
gcd' (abs x) (abs y)
where 
gcd' x vvw = gcd'2 x vvw
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x vvw = x
gcd'1 vvx vvy vvz = gcd'0 vvy vvz
gcd'2 x vvw = gcd'1 (vvw == 0) x vvw
gcd'2 vwu vwv = gcd'0 vwu vwv

gcd1 True vww vwx = error []
gcd1 vwy vwz vxu = gcd0 vwz vxu

gcd2 True vww vwx = gcd1 (vwx == 0) vww vwx
gcd2 vxv vxw vxx = gcd0 vxw vxx

gcd3 vww vwx = gcd2 (vww == 0) vww vwx
gcd3 vxy vxz = gcd0 vxy vxz

The following Function with conditions
absReal x
 | x >= 0
 = x
 | otherwise
 = `negate` x

is transformed to
absReal x = absReal2 x

absReal0 x True = `negate` x

absReal1 x True = x
absReal1 x False = absReal0 x otherwise

absReal2 x = absReal1 x (x >= 0)

The following Function with conditions
undefined 
 | False
 = undefined

is transformed to
undefined  = undefined1

undefined0 True = undefined

undefined1  = undefined0 False

The following Function with conditions
reduce x y
 | y == 0
 = error []
 | otherwise
 = x `quot` d :% (y `quot` d)
where 
d  = gcd x y

is transformed to
reduce x y = reduce2 x y

reduce2 x y = 
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
HASKELL
                      ↳ LetRed

mainModule FiniteMap
  ((elemFM :: Ord a => Maybe a  ->  FiniteMap (Maybe a) b  ->  Bool) :: Ord a => Maybe a  ->  FiniteMap (Maybe a) b  ->  Bool)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  elemFM :: Ord a => a  ->  FiniteMap a b  ->  Bool
elemFM key fm elemFM0 (lookupFM fm key)

  
elemFM0 Nothing False
elemFM0 (Just eltTrue

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  b  ->  a  ->  a ->  a  ->  FiniteMap c b  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt vw fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key lookupFM4 EmptyFM key
lookupFM (Branch key elt vx fm_l fm_rkey_to_find lookupFM3 (Branch key elt vx fm_l fm_r) key_to_find

  
lookupFM0 key elt vx fm_l fm_r key_to_find True Just elt

  
lookupFM1 key elt vx fm_l fm_r key_to_find True lookupFM fm_r key_to_find
lookupFM1 key elt vx fm_l fm_r key_to_find False lookupFM0 key elt vx fm_l fm_r key_to_find otherwise

  
lookupFM2 key elt vx fm_l fm_r key_to_find True lookupFM fm_l key_to_find
lookupFM2 key elt vx fm_l fm_r key_to_find False lookupFM1 key elt vx fm_l fm_r key_to_find (key_to_find > key)

  
lookupFM3 (Branch key elt vx fm_l fm_rkey_to_find lookupFM2 key elt vx fm_l fm_r key_to_find (key_to_find < key)

  
lookupFM4 EmptyFM key Nothing
lookupFM4 vvu vvv lookupFM3 vvu vvv

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch vy vz size wu wvsize


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Let/Where Reductions:
The bindings of the following Let/Where expression
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise

are unpacked to the following functions on top level
reduce2Reduce0 vyu vyv x y True = x `quot` reduce2D vyu vyv :% (y `quot` reduce2D vyu vyv)

reduce2D vyu vyv = gcd vyu vyv

reduce2Reduce1 vyu vyv x y True = error []
reduce2Reduce1 vyu vyv x y False = reduce2Reduce0 vyu vyv x y otherwise

The bindings of the following Let/Where expression
gcd' (abs x) (abs y)
where 
gcd' x vvw = gcd'2 x vvw
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x vvw = x
gcd'1 vvx vvy vvz = gcd'0 vvy vvz
gcd'2 x vvw = gcd'1 (vvw == 0) x vvw
gcd'2 vwu vwv = gcd'0 vwu vwv

are unpacked to the following functions on top level
gcd0Gcd' x vvw = gcd0Gcd'2 x vvw
gcd0Gcd' x y = gcd0Gcd'0 x y

gcd0Gcd'1 True x vvw = x
gcd0Gcd'1 vvx vvy vvz = gcd0Gcd'0 vvy vvz

gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y)

gcd0Gcd'2 x vvw = gcd0Gcd'1 (vvw == 0) x vvw
gcd0Gcd'2 vwu vwv = gcd0Gcd'0 vwu vwv



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
HASKELL
                          ↳ NumRed

mainModule FiniteMap
  ((elemFM :: Ord b => Maybe b  ->  FiniteMap (Maybe b) a  ->  Bool) :: Ord b => Maybe b  ->  FiniteMap (Maybe b) a  ->  Bool)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  elemFM :: Ord a => a  ->  FiniteMap a b  ->  Bool
elemFM key fm elemFM0 (lookupFM fm key)

  
elemFM0 Nothing False
elemFM0 (Just eltTrue

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (b  ->  c  ->  a  ->  a ->  a  ->  FiniteMap b c  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt vw fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key lookupFM4 EmptyFM key
lookupFM (Branch key elt vx fm_l fm_rkey_to_find lookupFM3 (Branch key elt vx fm_l fm_r) key_to_find

  
lookupFM0 key elt vx fm_l fm_r key_to_find True Just elt

  
lookupFM1 key elt vx fm_l fm_r key_to_find True lookupFM fm_r key_to_find
lookupFM1 key elt vx fm_l fm_r key_to_find False lookupFM0 key elt vx fm_l fm_r key_to_find otherwise

  
lookupFM2 key elt vx fm_l fm_r key_to_find True lookupFM fm_l key_to_find
lookupFM2 key elt vx fm_l fm_r key_to_find False lookupFM1 key elt vx fm_l fm_r key_to_find (key_to_find > key)

  
lookupFM3 (Branch key elt vx fm_l fm_rkey_to_find lookupFM2 key elt vx fm_l fm_r key_to_find (key_to_find < key)

  
lookupFM4 EmptyFM key Nothing
lookupFM4 vvu vvv lookupFM3 vvu vvv

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch vy vz size wu wvsize


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Num Reduction: All numbers are transformed to thier corresponding representation with Pos, Neg, Succ and Zero.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
HASKELL
                              ↳ Narrow

mainModule FiniteMap
  (elemFM :: Ord b => Maybe b  ->  FiniteMap (Maybe b) a  ->  Bool)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  elemFM :: Ord a => a  ->  FiniteMap a b  ->  Bool
elemFM key fm elemFM0 (lookupFM fm key)

  
elemFM0 Nothing False
elemFM0 (Just eltTrue

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (a  ->  b  ->  c  ->  c ->  c  ->  FiniteMap a b  ->  c
foldFM k z EmptyFM z
foldFM k z (Branch key elt vw fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key lookupFM4 EmptyFM key
lookupFM (Branch key elt vx fm_l fm_rkey_to_find lookupFM3 (Branch key elt vx fm_l fm_r) key_to_find

  
lookupFM0 key elt vx fm_l fm_r key_to_find True Just elt

  
lookupFM1 key elt vx fm_l fm_r key_to_find True lookupFM fm_r key_to_find
lookupFM1 key elt vx fm_l fm_r key_to_find False lookupFM0 key elt vx fm_l fm_r key_to_find otherwise

  
lookupFM2 key elt vx fm_l fm_r key_to_find True lookupFM fm_l key_to_find
lookupFM2 key elt vx fm_l fm_r key_to_find False lookupFM1 key elt vx fm_l fm_r key_to_find (key_to_find > key)

  
lookupFM3 (Branch key elt vx fm_l fm_rkey_to_find lookupFM2 key elt vx fm_l fm_r key_to_find (key_to_find < key)

  
lookupFM4 EmptyFM key Nothing
lookupFM4 vvu vvv lookupFM3 vvu vvv

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM Pos Zero
sizeFM (Branch vy vz size wu wvsize


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Haskell To QDPs


↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primCmpNat(Succ(vyw280000), Succ(vyw290000)) → new_primCmpNat(vyw280000, vyw290000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primPlusNat(Succ(vyw10000), Succ(vyw4001000)) → new_primPlusNat(vyw10000, vyw4001000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primMulNat(Succ(vyw30100), Succ(vyw400100)) → new_primMulNat(vyw30100, Succ(vyw400100))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primEqNat(Succ(vyw3000), Succ(vyw40000)) → new_primEqNat(vyw3000, vyw40000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_esEs3(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), app(app(ty_Either, bbc), bbd), baf, bag) → new_esEs2(vyw300, vyw4000, bbc, bbd)
new_esEs3(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), bbh, baf, app(app(app(ty_@3, bdh), bea), beb)) → new_esEs3(vyw302, vyw4002, bdh, bea, beb)
new_esEs2(Left(vyw300), Left(vyw4000), app(app(ty_@2, gc), gd), gb) → new_esEs0(vyw300, vyw4000, gc, gd)
new_esEs0(@2(vyw300, vyw301), @2(vyw4000, vyw4001), app(app(ty_Either, cf), cg), cb) → new_esEs2(vyw300, vyw4000, cf, cg)
new_esEs2(Left(vyw300), Left(vyw4000), app(ty_[], ge), gb) → new_esEs1(vyw300, vyw4000, ge)
new_esEs3(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), app(app(ty_@2, bah), bba), baf, bag) → new_esEs0(vyw300, vyw4000, bah, bba)
new_esEs3(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), app(ty_Maybe, bae), baf, bag) → new_esEs(vyw300, vyw4000, bae)
new_esEs(Just(vyw300), Just(vyw4000), app(app(app(ty_@3, bf), bg), bh)) → new_esEs3(vyw300, vyw4000, bf, bg, bh)
new_esEs3(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), bbh, baf, app(ty_[], bde)) → new_esEs1(vyw302, vyw4002, bde)
new_esEs1(:(vyw300, vyw301), :(vyw4000, vyw4001), fh) → new_esEs1(vyw301, vyw4001, fh)
new_esEs(Just(vyw300), Just(vyw4000), app(app(ty_Either, bd), be)) → new_esEs2(vyw300, vyw4000, bd, be)
new_esEs0(@2(vyw300, vyw301), @2(vyw4000, vyw4001), app(ty_[], ce), cb) → new_esEs1(vyw300, vyw4000, ce)
new_esEs3(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), bbh, app(app(ty_Either, bce), bcf), bag) → new_esEs2(vyw301, vyw4001, bce, bcf)
new_esEs1(:(vyw300, vyw301), :(vyw4000, vyw4001), app(ty_[], fa)) → new_esEs1(vyw300, vyw4000, fa)
new_esEs3(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), bbh, app(ty_[], bcd), bag) → new_esEs1(vyw301, vyw4001, bcd)
new_esEs(Just(vyw300), Just(vyw4000), app(ty_Maybe, h)) → new_esEs(vyw300, vyw4000, h)
new_esEs2(Left(vyw300), Left(vyw4000), app(app(ty_Either, gf), gg), gb) → new_esEs2(vyw300, vyw4000, gf, gg)
new_esEs2(Left(vyw300), Left(vyw4000), app(app(app(ty_@3, gh), ha), hb), gb) → new_esEs3(vyw300, vyw4000, gh, ha, hb)
new_esEs3(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), bbh, app(ty_Maybe, bca), bag) → new_esEs(vyw301, vyw4001, bca)
new_esEs1(:(vyw300, vyw301), :(vyw4000, vyw4001), app(app(ty_Either, fb), fc)) → new_esEs2(vyw300, vyw4000, fb, fc)
new_esEs3(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), bbh, app(app(ty_@2, bcb), bcc), bag) → new_esEs0(vyw301, vyw4001, bcb, bcc)
new_esEs2(Right(vyw300), Right(vyw4000), hc, app(app(ty_@2, he), hf)) → new_esEs0(vyw300, vyw4000, he, hf)
new_esEs3(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), bbh, baf, app(ty_Maybe, bdb)) → new_esEs(vyw302, vyw4002, bdb)
new_esEs3(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), bbh, baf, app(app(ty_Either, bdf), bdg)) → new_esEs2(vyw302, vyw4002, bdf, bdg)
new_esEs2(Left(vyw300), Left(vyw4000), app(ty_Maybe, ga), gb) → new_esEs(vyw300, vyw4000, ga)
new_esEs2(Right(vyw300), Right(vyw4000), hc, app(ty_[], hg)) → new_esEs1(vyw300, vyw4000, hg)
new_esEs(Just(vyw300), Just(vyw4000), app(app(ty_@2, ba), bb)) → new_esEs0(vyw300, vyw4000, ba, bb)
new_esEs3(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), bbh, app(app(app(ty_@3, bcg), bch), bda), bag) → new_esEs3(vyw301, vyw4001, bcg, bch, bda)
new_esEs1(:(vyw300, vyw301), :(vyw4000, vyw4001), app(ty_Maybe, ef)) → new_esEs(vyw300, vyw4000, ef)
new_esEs0(@2(vyw300, vyw301), @2(vyw4000, vyw4001), app(app(app(ty_@3, da), db), dc), cb) → new_esEs3(vyw300, vyw4000, da, db, dc)
new_esEs0(@2(vyw300, vyw301), @2(vyw4000, vyw4001), dd, app(app(ty_Either, ea), eb)) → new_esEs2(vyw301, vyw4001, ea, eb)
new_esEs(Just(vyw300), Just(vyw4000), app(ty_[], bc)) → new_esEs1(vyw300, vyw4000, bc)
new_esEs2(Right(vyw300), Right(vyw4000), hc, app(ty_Maybe, hd)) → new_esEs(vyw300, vyw4000, hd)
new_esEs1(:(vyw300, vyw301), :(vyw4000, vyw4001), app(app(app(ty_@3, fd), ff), fg)) → new_esEs3(vyw300, vyw4000, fd, ff, fg)
new_esEs0(@2(vyw300, vyw301), @2(vyw4000, vyw4001), app(ty_Maybe, ca), cb) → new_esEs(vyw300, vyw4000, ca)
new_esEs2(Right(vyw300), Right(vyw4000), hc, app(app(ty_Either, hh), baa)) → new_esEs2(vyw300, vyw4000, hh, baa)
new_esEs0(@2(vyw300, vyw301), @2(vyw4000, vyw4001), dd, app(ty_Maybe, de)) → new_esEs(vyw301, vyw4001, de)
new_esEs0(@2(vyw300, vyw301), @2(vyw4000, vyw4001), app(app(ty_@2, cc), cd), cb) → new_esEs0(vyw300, vyw4000, cc, cd)
new_esEs3(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), app(ty_[], bbb), baf, bag) → new_esEs1(vyw300, vyw4000, bbb)
new_esEs0(@2(vyw300, vyw301), @2(vyw4000, vyw4001), dd, app(ty_[], dh)) → new_esEs1(vyw301, vyw4001, dh)
new_esEs0(@2(vyw300, vyw301), @2(vyw4000, vyw4001), dd, app(app(ty_@2, df), dg)) → new_esEs0(vyw301, vyw4001, df, dg)
new_esEs2(Right(vyw300), Right(vyw4000), hc, app(app(app(ty_@3, bab), bac), bad)) → new_esEs3(vyw300, vyw4000, bab, bac, bad)
new_esEs3(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), bbh, baf, app(app(ty_@2, bdc), bdd)) → new_esEs0(vyw302, vyw4002, bdc, bdd)
new_esEs0(@2(vyw300, vyw301), @2(vyw4000, vyw4001), dd, app(app(app(ty_@3, ec), ed), ee)) → new_esEs3(vyw301, vyw4001, ec, ed, ee)
new_esEs1(:(vyw300, vyw301), :(vyw4000, vyw4001), app(app(ty_@2, eg), eh)) → new_esEs0(vyw300, vyw4000, eg, eh)
new_esEs3(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), app(app(app(ty_@3, bbe), bbf), bbg), baf, bag) → new_esEs3(vyw300, vyw4000, bbe, bbf, bbg)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_compare21(Just(@3(vyw28000, vyw28001, vyw28002)), Just(@3(vyw29000, vyw29001, vyw29002)), False, app(app(app(ty_@3, bae), baf), app(app(ty_@2, bag), bah))) → new_ltEs(vyw28002, vyw29002, bag, bah)
new_ltEs1(:(vyw28000, vyw28001), :(vyw29000, vyw29001), gb) → new_compare(vyw28001, vyw29001, gb)
new_compare21(Just(Just(vyw28000)), Just(Just(vyw29000)), False, app(ty_Maybe, app(app(ty_Either, hf), hg))) → new_ltEs0(vyw28000, vyw29000, hf, hg)
new_compare21(Just(@3(vyw28000, vyw28001, vyw28002)), Just(@3(vyw29000, vyw29001, vyw29002)), False, app(app(app(ty_@3, bae), app(app(ty_Either, bcc), bcd)), bcb)) → new_lt0(vyw28001, vyw29001, bcc, bcd)
new_ltEs0(Left(vyw28000), Left(vyw29000), app(app(app(ty_@3, ed), ee), ef), dg) → new_ltEs3(vyw28000, vyw29000, ed, ee, ef)
new_compare21(Just(@3(vyw28000, vyw28001, vyw28002)), Just(@3(vyw29000, vyw29001, vyw29002)), False, app(app(app(ty_@3, bae), app(ty_Maybe, bcf)), bcb)) → new_lt2(vyw28001, vyw29001, bcf)
new_ltEs(@2(vyw28000, vyw28001), @2(vyw29000, vyw29001), h, app(ty_Maybe, bf)) → new_ltEs2(vyw28001, vyw29001, bf)
new_compare21(Just(@3(vyw28000, vyw28001, vyw28002)), Just(@3(vyw29000, vyw29001, vyw29002)), False, app(app(app(ty_@3, bae), app(app(ty_@2, bbh), bca)), bcb)) → new_lt(vyw28001, vyw29001, bbh, bca)
new_ltEs3(@3(vyw28000, vyw28001, vyw28002), @3(vyw29000, vyw29001, vyw29002), app(app(ty_@2, bdb), bdc), baf, bcb) → new_lt(vyw28000, vyw29000, bdb, bdc)
new_compare21(Just(@3(vyw28000, vyw28001, vyw28002)), Just(@3(vyw29000, vyw29001, vyw29002)), False, app(app(app(ty_@3, bae), baf), app(app(app(ty_@3, bbe), bbf), bbg))) → new_ltEs3(vyw28002, vyw29002, bbe, bbf, bbg)
new_compare21(Just(@2(vyw28000, vyw28001)), Just(@2(vyw29000, vyw29001)), False, app(app(ty_@2, app(ty_Maybe, da)), cd)) → new_compare21(vyw28000, vyw29000, new_esEs6(vyw28000, vyw29000, da), da)
new_compare22(vyw28000, vyw29000, False, db, dc, dd) → new_ltEs3(vyw28000, vyw29000, db, dc, dd)
new_compare21(Just(@2(vyw28000, vyw28001)), Just(@2(vyw29000, vyw29001)), False, app(app(ty_@2, h), app(ty_[], be))) → new_ltEs1(vyw28001, vyw29001, be)
new_ltEs0(Left(vyw28000), Left(vyw29000), app(ty_[], eb), dg) → new_ltEs1(vyw28000, vyw29000, eb)
new_compare21(Just(@3(vyw28000, vyw28001, vyw28002)), Just(@3(vyw29000, vyw29001, vyw29002)), False, app(app(app(ty_@3, bae), app(app(app(ty_@3, bcg), bch), bda)), bcb)) → new_lt3(vyw28001, vyw29001, bcg, bch, bda)
new_compare21(Just(Just(vyw28000)), Just(Just(vyw29000)), False, app(ty_Maybe, app(app(ty_@2, hd), he))) → new_ltEs(vyw28000, vyw29000, hd, he)
new_primCompAux(vyw28000, vyw29000, vyw99, app(ty_[], gg)) → new_compare(vyw28000, vyw29000, gg)
new_compare21(Just(@3(vyw28000, vyw28001, vyw28002)), Just(@3(vyw29000, vyw29001, vyw29002)), False, app(app(app(ty_@3, bae), baf), app(ty_[], bbc))) → new_ltEs1(vyw28002, vyw29002, bbc)
new_compare21(Just(@3(vyw28000, vyw28001, vyw28002)), Just(@3(vyw29000, vyw29001, vyw29002)), False, app(app(app(ty_@3, app(ty_[], bdf)), baf), bcb)) → new_lt1(vyw28000, vyw29000, bdf)
new_ltEs3(@3(vyw28000, vyw28001, vyw28002), @3(vyw29000, vyw29001, vyw29002), bae, baf, app(app(ty_Either, bba), bbb)) → new_ltEs0(vyw28002, vyw29002, bba, bbb)
new_lt0(vyw28000, vyw29000, ce, cf) → new_compare20(vyw28000, vyw29000, new_esEs5(vyw28000, vyw29000, ce, cf), ce, cf)
new_compare21(Just(@3(vyw28000, vyw28001, vyw28002)), Just(@3(vyw29000, vyw29001, vyw29002)), False, app(app(app(ty_@3, app(app(ty_@2, bdb), bdc)), baf), bcb)) → new_lt(vyw28000, vyw29000, bdb, bdc)
new_lt2(vyw28000, vyw29000, da) → new_compare21(vyw28000, vyw29000, new_esEs6(vyw28000, vyw29000, da), da)
new_compare21(Just(Right(vyw28000)), Just(Right(vyw29000)), False, app(app(ty_Either, eg), app(app(ty_Either, fb), fc))) → new_ltEs0(vyw28000, vyw29000, fb, fc)
new_compare21(Just(Right(vyw28000)), Just(Right(vyw29000)), False, app(app(ty_Either, eg), app(ty_Maybe, ff))) → new_ltEs2(vyw28000, vyw29000, ff)
new_ltEs2(Just(vyw28000), Just(vyw29000), app(ty_[], hh)) → new_ltEs1(vyw28000, vyw29000, hh)
new_ltEs2(Just(vyw28000), Just(vyw29000), app(app(app(ty_@3, bab), bac), bad)) → new_ltEs3(vyw28000, vyw29000, bab, bac, bad)
new_ltEs(@2(vyw28000, vyw28001), @2(vyw29000, vyw29001), app(ty_Maybe, da), cd) → new_compare21(vyw28000, vyw29000, new_esEs6(vyw28000, vyw29000, da), da)
new_ltEs3(@3(vyw28000, vyw28001, vyw28002), @3(vyw29000, vyw29001, vyw29002), bae, baf, app(app(ty_@2, bag), bah)) → new_ltEs(vyw28002, vyw29002, bag, bah)
new_compare21(Just(:(vyw28000, vyw28001)), Just(:(vyw29000, vyw29001)), False, app(ty_[], gb)) → new_primCompAux(vyw28000, vyw29000, new_compare0(vyw28001, vyw29001, gb), gb)
new_ltEs0(Right(vyw28000), Right(vyw29000), eg, app(app(ty_Either, fb), fc)) → new_ltEs0(vyw28000, vyw29000, fb, fc)
new_ltEs0(Right(vyw28000), Right(vyw29000), eg, app(ty_Maybe, ff)) → new_ltEs2(vyw28000, vyw29000, ff)
new_compare21(Just(Right(vyw28000)), Just(Right(vyw29000)), False, app(app(ty_Either, eg), app(ty_[], fd))) → new_ltEs1(vyw28000, vyw29000, fd)
new_primCompAux(vyw28000, vyw29000, vyw99, app(app(app(ty_@3, ha), hb), hc)) → new_compare5(vyw28000, vyw29000, ha, hb, hc)
new_compare21(Just(Left(vyw28000)), Just(Left(vyw29000)), False, app(app(ty_Either, app(app(ty_Either, dh), ea)), dg)) → new_ltEs0(vyw28000, vyw29000, dh, ea)
new_compare21(Just(@3(vyw28000, vyw28001, vyw28002)), Just(@3(vyw29000, vyw29001, vyw29002)), False, app(app(app(ty_@3, bae), app(ty_[], bce)), bcb)) → new_lt1(vyw28001, vyw29001, bce)
new_ltEs0(Left(vyw28000), Left(vyw29000), app(ty_Maybe, ec), dg) → new_ltEs2(vyw28000, vyw29000, ec)
new_primCompAux(vyw28000, vyw29000, vyw99, app(app(ty_Either, ge), gf)) → new_compare3(vyw28000, vyw29000, ge, gf)
new_compare21(Just(Right(vyw28000)), Just(Right(vyw29000)), False, app(app(ty_Either, eg), app(app(app(ty_@3, fg), fh), ga))) → new_ltEs3(vyw28000, vyw29000, fg, fh, ga)
new_ltEs(@2(vyw28000, vyw28001), @2(vyw29000, vyw29001), h, app(app(ty_@2, ba), bb)) → new_ltEs(vyw28001, vyw29001, ba, bb)
new_compare21(Just(@3(vyw28000, vyw28001, vyw28002)), Just(@3(vyw29000, vyw29001, vyw29002)), False, app(app(app(ty_@3, app(app(app(ty_@3, bdh), bea), beb)), baf), bcb)) → new_lt3(vyw28000, vyw29000, bdh, bea, beb)
new_ltEs3(@3(vyw28000, vyw28001, vyw28002), @3(vyw29000, vyw29001, vyw29002), bae, app(app(app(ty_@3, bcg), bch), bda), bcb) → new_lt3(vyw28001, vyw29001, bcg, bch, bda)
new_compare21(Just(@2(vyw28000, vyw28001)), Just(@2(vyw29000, vyw29001)), False, app(app(ty_@2, app(ty_[], cg)), cd)) → new_compare(vyw28000, vyw29000, cg)
new_compare4(vyw28000, vyw29000, da) → new_compare21(vyw28000, vyw29000, new_esEs6(vyw28000, vyw29000, da), da)
new_compare21(Just(Left(vyw28000)), Just(Left(vyw29000)), False, app(app(ty_Either, app(app(app(ty_@3, ed), ee), ef)), dg)) → new_ltEs3(vyw28000, vyw29000, ed, ee, ef)
new_ltEs(@2(vyw28000, vyw28001), @2(vyw29000, vyw29001), h, app(app(ty_Either, bc), bd)) → new_ltEs0(vyw28001, vyw29001, bc, bd)
new_ltEs(@2(vyw28000, vyw28001), @2(vyw29000, vyw29001), app(app(ty_@2, cb), cc), cd) → new_compare2(vyw28000, vyw29000, new_esEs4(vyw28000, vyw29000, cb, cc), cb, cc)
new_ltEs3(@3(vyw28000, vyw28001, vyw28002), @3(vyw29000, vyw29001, vyw29002), bae, baf, app(ty_[], bbc)) → new_ltEs1(vyw28002, vyw29002, bbc)
new_compare21(Just(Just(vyw28000)), Just(Just(vyw29000)), False, app(ty_Maybe, app(ty_Maybe, baa))) → new_ltEs2(vyw28000, vyw29000, baa)
new_primCompAux(vyw28000, vyw29000, vyw99, app(app(ty_@2, gc), gd)) → new_compare1(vyw28000, vyw29000, gc, gd)
new_ltEs3(@3(vyw28000, vyw28001, vyw28002), @3(vyw29000, vyw29001, vyw29002), app(app(ty_Either, bdd), bde), baf, bcb) → new_lt0(vyw28000, vyw29000, bdd, bde)
new_compare21(Just(Just(vyw28000)), Just(Just(vyw29000)), False, app(ty_Maybe, app(ty_[], hh))) → new_ltEs1(vyw28000, vyw29000, hh)
new_lt(vyw28000, vyw29000, cb, cc) → new_compare2(vyw28000, vyw29000, new_esEs4(vyw28000, vyw29000, cb, cc), cb, cc)
new_compare2(vyw28000, vyw29000, False, cb, cc) → new_ltEs(vyw28000, vyw29000, cb, cc)
new_compare21(Just(@2(vyw28000, vyw28001)), Just(@2(vyw29000, vyw29001)), False, app(app(ty_@2, app(app(ty_Either, ce), cf)), cd)) → new_compare20(vyw28000, vyw29000, new_esEs5(vyw28000, vyw29000, ce, cf), ce, cf)
new_ltEs0(Right(vyw28000), Right(vyw29000), eg, app(app(app(ty_@3, fg), fh), ga)) → new_ltEs3(vyw28000, vyw29000, fg, fh, ga)
new_compare21(Just(Left(vyw28000)), Just(Left(vyw29000)), False, app(app(ty_Either, app(ty_[], eb)), dg)) → new_ltEs1(vyw28000, vyw29000, eb)
new_compare21(Just(Left(vyw28000)), Just(Left(vyw29000)), False, app(app(ty_Either, app(app(ty_@2, de), df)), dg)) → new_ltEs(vyw28000, vyw29000, de, df)
new_ltEs(@2(vyw28000, vyw28001), @2(vyw29000, vyw29001), h, app(ty_[], be)) → new_ltEs1(vyw28001, vyw29001, be)
new_compare5(vyw28000, vyw29000, db, dc, dd) → new_compare22(vyw28000, vyw29000, new_esEs7(vyw28000, vyw29000, db, dc, dd), db, dc, dd)
new_ltEs(@2(vyw28000, vyw28001), @2(vyw29000, vyw29001), app(app(ty_Either, ce), cf), cd) → new_compare20(vyw28000, vyw29000, new_esEs5(vyw28000, vyw29000, ce, cf), ce, cf)
new_compare21(Just(@2(vyw28000, vyw28001)), Just(@2(vyw29000, vyw29001)), False, app(app(ty_@2, app(app(app(ty_@3, db), dc), dd)), cd)) → new_compare22(vyw28000, vyw29000, new_esEs7(vyw28000, vyw29000, db, dc, dd), db, dc, dd)
new_ltEs2(Just(vyw28000), Just(vyw29000), app(app(ty_Either, hf), hg)) → new_ltEs0(vyw28000, vyw29000, hf, hg)
new_compare3(vyw28000, vyw29000, ce, cf) → new_compare20(vyw28000, vyw29000, new_esEs5(vyw28000, vyw29000, ce, cf), ce, cf)
new_ltEs0(Left(vyw28000), Left(vyw29000), app(app(ty_Either, dh), ea), dg) → new_ltEs0(vyw28000, vyw29000, dh, ea)
new_ltEs(@2(vyw28000, vyw28001), @2(vyw29000, vyw29001), app(ty_[], cg), cd) → new_compare(vyw28000, vyw29000, cg)
new_ltEs3(@3(vyw28000, vyw28001, vyw28002), @3(vyw29000, vyw29001, vyw29002), app(ty_Maybe, bdg), baf, bcb) → new_lt2(vyw28000, vyw29000, bdg)
new_lt3(vyw28000, vyw29000, db, dc, dd) → new_compare22(vyw28000, vyw29000, new_esEs7(vyw28000, vyw29000, db, dc, dd), db, dc, dd)
new_ltEs0(Right(vyw28000), Right(vyw29000), eg, app(app(ty_@2, eh), fa)) → new_ltEs(vyw28000, vyw29000, eh, fa)
new_ltEs3(@3(vyw28000, vyw28001, vyw28002), @3(vyw29000, vyw29001, vyw29002), bae, baf, app(ty_Maybe, bbd)) → new_ltEs2(vyw28002, vyw29002, bbd)
new_compare21(Just(Right(vyw28000)), Just(Right(vyw29000)), False, app(app(ty_Either, eg), app(app(ty_@2, eh), fa))) → new_ltEs(vyw28000, vyw29000, eh, fa)
new_compare21(Just(@2(vyw28000, vyw28001)), Just(@2(vyw29000, vyw29001)), False, app(app(ty_@2, h), app(app(app(ty_@3, bg), bh), ca))) → new_ltEs3(vyw28001, vyw29001, bg, bh, ca)
new_compare21(Just(:(vyw28000, vyw28001)), Just(:(vyw29000, vyw29001)), False, app(ty_[], gb)) → new_compare(vyw28001, vyw29001, gb)
new_compare20(vyw28000, vyw29000, False, ce, cf) → new_ltEs0(vyw28000, vyw29000, ce, cf)
new_ltEs0(Left(vyw28000), Left(vyw29000), app(app(ty_@2, de), df), dg) → new_ltEs(vyw28000, vyw29000, de, df)
new_ltEs(@2(vyw28000, vyw28001), @2(vyw29000, vyw29001), h, app(app(app(ty_@3, bg), bh), ca)) → new_ltEs3(vyw28001, vyw29001, bg, bh, ca)
new_compare21(Just(@3(vyw28000, vyw28001, vyw28002)), Just(@3(vyw29000, vyw29001, vyw29002)), False, app(app(app(ty_@3, bae), baf), app(app(ty_Either, bba), bbb))) → new_ltEs0(vyw28002, vyw29002, bba, bbb)
new_compare21(Just(@2(vyw28000, vyw28001)), Just(@2(vyw29000, vyw29001)), False, app(app(ty_@2, h), app(ty_Maybe, bf))) → new_ltEs2(vyw28001, vyw29001, bf)
new_compare21(Just(@2(vyw28000, vyw28001)), Just(@2(vyw29000, vyw29001)), False, app(app(ty_@2, h), app(app(ty_Either, bc), bd))) → new_ltEs0(vyw28001, vyw29001, bc, bd)
new_compare21(Just(Just(vyw28000)), Just(Just(vyw29000)), False, app(ty_Maybe, app(app(app(ty_@3, bab), bac), bad))) → new_ltEs3(vyw28000, vyw29000, bab, bac, bad)
new_lt1(vyw28000, vyw29000, cg) → new_compare(vyw28000, vyw29000, cg)
new_ltEs3(@3(vyw28000, vyw28001, vyw28002), @3(vyw29000, vyw29001, vyw29002), bae, app(app(ty_@2, bbh), bca), bcb) → new_lt(vyw28001, vyw29001, bbh, bca)
new_ltEs2(Just(vyw28000), Just(vyw29000), app(app(ty_@2, hd), he)) → new_ltEs(vyw28000, vyw29000, hd, he)
new_ltEs3(@3(vyw28000, vyw28001, vyw28002), @3(vyw29000, vyw29001, vyw29002), bae, baf, app(app(app(ty_@3, bbe), bbf), bbg)) → new_ltEs3(vyw28002, vyw29002, bbe, bbf, bbg)
new_compare21(Just(Left(vyw28000)), Just(Left(vyw29000)), False, app(app(ty_Either, app(ty_Maybe, ec)), dg)) → new_ltEs2(vyw28000, vyw29000, ec)
new_ltEs3(@3(vyw28000, vyw28001, vyw28002), @3(vyw29000, vyw29001, vyw29002), app(ty_[], bdf), baf, bcb) → new_lt1(vyw28000, vyw29000, bdf)
new_ltEs2(Just(vyw28000), Just(vyw29000), app(ty_Maybe, baa)) → new_ltEs2(vyw28000, vyw29000, baa)
new_ltEs3(@3(vyw28000, vyw28001, vyw28002), @3(vyw29000, vyw29001, vyw29002), app(app(app(ty_@3, bdh), bea), beb), baf, bcb) → new_lt3(vyw28000, vyw29000, bdh, bea, beb)
new_compare(:(vyw28000, vyw28001), :(vyw29000, vyw29001), gb) → new_compare(vyw28001, vyw29001, gb)
new_compare21(Just(@3(vyw28000, vyw28001, vyw28002)), Just(@3(vyw29000, vyw29001, vyw29002)), False, app(app(app(ty_@3, bae), baf), app(ty_Maybe, bbd))) → new_ltEs2(vyw28002, vyw29002, bbd)
new_compare(:(vyw28000, vyw28001), :(vyw29000, vyw29001), gb) → new_primCompAux(vyw28000, vyw29000, new_compare0(vyw28001, vyw29001, gb), gb)
new_ltEs0(Right(vyw28000), Right(vyw29000), eg, app(ty_[], fd)) → new_ltEs1(vyw28000, vyw29000, fd)
new_compare21(Just(@2(vyw28000, vyw28001)), Just(@2(vyw29000, vyw29001)), False, app(app(ty_@2, app(app(ty_@2, cb), cc)), cd)) → new_compare2(vyw28000, vyw29000, new_esEs4(vyw28000, vyw29000, cb, cc), cb, cc)
new_ltEs3(@3(vyw28000, vyw28001, vyw28002), @3(vyw29000, vyw29001, vyw29002), bae, app(app(ty_Either, bcc), bcd), bcb) → new_lt0(vyw28001, vyw29001, bcc, bcd)
new_primCompAux(vyw28000, vyw29000, vyw99, app(ty_Maybe, gh)) → new_compare4(vyw28000, vyw29000, gh)
new_ltEs1(:(vyw28000, vyw28001), :(vyw29000, vyw29001), gb) → new_primCompAux(vyw28000, vyw29000, new_compare0(vyw28001, vyw29001, gb), gb)
new_compare21(Just(@3(vyw28000, vyw28001, vyw28002)), Just(@3(vyw29000, vyw29001, vyw29002)), False, app(app(app(ty_@3, app(app(ty_Either, bdd), bde)), baf), bcb)) → new_lt0(vyw28000, vyw29000, bdd, bde)
new_compare21(Just(@3(vyw28000, vyw28001, vyw28002)), Just(@3(vyw29000, vyw29001, vyw29002)), False, app(app(app(ty_@3, app(ty_Maybe, bdg)), baf), bcb)) → new_lt2(vyw28000, vyw29000, bdg)
new_ltEs3(@3(vyw28000, vyw28001, vyw28002), @3(vyw29000, vyw29001, vyw29002), bae, app(ty_Maybe, bcf), bcb) → new_lt2(vyw28001, vyw29001, bcf)
new_compare21(Just(@2(vyw28000, vyw28001)), Just(@2(vyw29000, vyw29001)), False, app(app(ty_@2, h), app(app(ty_@2, ba), bb))) → new_ltEs(vyw28001, vyw29001, ba, bb)
new_ltEs3(@3(vyw28000, vyw28001, vyw28002), @3(vyw29000, vyw29001, vyw29002), bae, app(ty_[], bce), bcb) → new_lt1(vyw28001, vyw29001, bce)
new_ltEs(@2(vyw28000, vyw28001), @2(vyw29000, vyw29001), app(app(app(ty_@3, db), dc), dd), cd) → new_compare22(vyw28000, vyw29000, new_esEs7(vyw28000, vyw29000, db, dc, dd), db, dc, dd)
new_compare1(vyw28000, vyw29000, cb, cc) → new_compare2(vyw28000, vyw29000, new_esEs4(vyw28000, vyw29000, cb, cc), cb, cc)

The TRS R consists of the following rules:

new_esEs26(vyw301, vyw4001, ty_@0) → new_esEs15(vyw301, vyw4001)
new_compare112(vyw84, vyw85, True, cba) → LT
new_esEs24(vyw28001, vyw29001, app(app(ty_Either, bcc), bcd)) → new_esEs5(vyw28001, vyw29001, bcc, bcd)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Char) → new_esEs17(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Int) → new_ltEs6(vyw28000, vyw29000)
new_ltEs19(vyw2800, vyw2900, app(ty_Ratio, cbc)) → new_ltEs11(vyw2800, vyw2900, cbc)
new_compare6(vyw28000, vyw29000, app(app(app(ty_@3, ha), hb), hc)) → new_compare15(vyw28000, vyw29000, ha, hb, hc)
new_ltEs8(False, True) → True
new_esEs5(Left(vyw300), Left(vyw4000), ty_Ordering, ceg) → new_esEs14(vyw300, vyw4000)
new_esEs17(Char(vyw300), Char(vyw4000)) → new_primEqNat0(vyw300, vyw4000)
new_compare6(vyw28000, vyw29000, app(ty_[], gg)) → new_compare0(vyw28000, vyw29000, gg)
new_ltEs19(vyw2800, vyw2900, app(ty_[], gb)) → new_ltEs9(vyw2800, vyw2900, gb)
new_esEs24(vyw28001, vyw29001, ty_Char) → new_esEs17(vyw28001, vyw29001)
new_compare110(vyw28000, vyw29000, True, cb, cc) → LT
new_lt6(vyw28000, vyw29000) → new_esEs14(new_compare8(vyw28000, vyw29000), LT)
new_lt19(vyw28001, vyw29001, ty_Integer) → new_lt18(vyw28001, vyw29001)
new_esEs23(vyw28000, vyw29000, app(app(ty_Either, bdd), bde)) → new_esEs5(vyw28000, vyw29000, bdd, bde)
new_esEs5(Left(vyw300), Left(vyw4000), ty_Double, ceg) → new_esEs12(vyw300, vyw4000)
new_esEs23(vyw28000, vyw29000, app(app(ty_@2, bdb), bdc)) → new_esEs4(vyw28000, vyw29000, bdb, bdc)
new_esEs23(vyw28000, vyw29000, ty_Integer) → new_esEs18(vyw28000, vyw29000)
new_ltEs7(Right(vyw28000), Right(vyw29000), eg, app(ty_[], fd)) → new_ltEs9(vyw28000, vyw29000, fd)
new_esEs20(vyw301, vyw4001, ty_Int) → new_esEs9(vyw301, vyw4001)
new_lt4(vyw28000, vyw29000, ty_Double) → new_lt10(vyw28000, vyw29000)
new_esEs20(vyw301, vyw4001, ty_Double) → new_esEs12(vyw301, vyw4001)
new_compare27(vyw28000, vyw29000, False, ce, cf) → new_compare114(vyw28000, vyw29000, new_ltEs7(vyw28000, vyw29000, ce, cf), ce, cf)
new_esEs25(vyw300, vyw4000, ty_Char) → new_esEs17(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), app(ty_[], hh)) → new_ltEs9(vyw28000, vyw29000, hh)
new_esEs23(vyw28000, vyw29000, ty_Float) → new_esEs16(vyw28000, vyw29000)
new_ltEs12(Nothing, Nothing, cbd) → True
new_esEs16(Float(vyw300, vyw301), Float(vyw4000, vyw4001)) → new_esEs9(new_sr(vyw300, vyw4000), new_sr(vyw301, vyw4001))
new_ltEs7(Left(vyw28000), Right(vyw29000), eg, dg) → True
new_primMulNat0(Zero, Zero) → Zero
new_esEs25(vyw300, vyw4000, ty_Double) → new_esEs12(vyw300, vyw4000)
new_esEs6(Just(vyw300), Just(vyw4000), app(ty_Ratio, cdd)) → new_esEs13(vyw300, vyw4000, cdd)
new_ltEs20(vyw28002, vyw29002, ty_@0) → new_ltEs15(vyw28002, vyw29002)
new_esEs5(Right(vyw300), Right(vyw4000), cgb, ty_Float) → new_esEs16(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Float) → new_ltEs16(vyw28000, vyw29000)
new_esEs23(vyw28000, vyw29000, app(ty_Ratio, cch)) → new_esEs13(vyw28000, vyw29000, cch)
new_esEs25(vyw300, vyw4000, app(app(ty_@2, daa), dab)) → new_esEs4(vyw300, vyw4000, daa, dab)
new_lt20(vyw28000, vyw29000, ty_Integer) → new_lt18(vyw28000, vyw29000)
new_compare25(vyw280, vyw290, True, cbb) → EQ
new_compare10(vyw28000, vyw29000) → new_compare23(vyw28000, vyw29000, new_esEs10(vyw28000, vyw29000))
new_lt20(vyw28000, vyw29000, app(app(ty_@2, bdb), bdc)) → new_lt5(vyw28000, vyw29000, bdb, bdc)
new_esEs22(vyw300, vyw4000, ty_Char) → new_esEs17(vyw300, vyw4000)
new_esEs8(vyw28000, vyw29000, ty_Double) → new_esEs12(vyw28000, vyw29000)
new_compare14(vyw28000, vyw29000) → new_compare28(vyw28000, vyw29000, new_esEs14(vyw28000, vyw29000))
new_compare16(@0, @0) → EQ
new_lt18(vyw28000, vyw29000) → new_esEs14(new_compare19(vyw28000, vyw29000), LT)
new_esEs19(vyw300, vyw4000, app(app(app(ty_@3, bfg), bfh), bga)) → new_esEs7(vyw300, vyw4000, bfg, bfh, bga)
new_ltEs7(Right(vyw28000), Right(vyw29000), eg, app(app(ty_@2, eh), fa)) → new_ltEs4(vyw28000, vyw29000, eh, fa)
new_esEs22(vyw300, vyw4000, ty_Bool) → new_esEs10(vyw300, vyw4000)
new_esEs19(vyw300, vyw4000, ty_Int) → new_esEs9(vyw300, vyw4000)
new_ltEs6(vyw2800, vyw2900) → new_not(new_esEs14(new_compare8(vyw2800, vyw2900), GT))
new_esEs20(vyw301, vyw4001, app(ty_Ratio, bgb)) → new_esEs13(vyw301, vyw4001, bgb)
new_ltEs13(LT, EQ) → True
new_ltEs20(vyw28002, vyw29002, app(ty_[], bbc)) → new_ltEs9(vyw28002, vyw29002, bbc)
new_esEs11([], [], cbe) → True
new_compare0(:(vyw28000, vyw28001), :(vyw29000, vyw29001), gb) → new_primCompAux0(vyw28000, vyw29000, new_compare0(vyw28001, vyw29001, gb), gb)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Double) → new_esEs12(vyw300, vyw4000)
new_compare6(vyw28000, vyw29000, ty_Float) → new_compare17(vyw28000, vyw29000)
new_esEs22(vyw300, vyw4000, app(ty_Maybe, cbg)) → new_esEs6(vyw300, vyw4000, cbg)
new_esEs21(vyw302, vyw4002, app(app(app(ty_@3, cac), cad), cae)) → new_esEs7(vyw302, vyw4002, cac, cad, cae)
new_compare12(:%(vyw28000, vyw28001), :%(vyw29000, vyw29001), ty_Integer) → new_compare19(new_sr0(vyw28000, vyw29001), new_sr0(vyw29000, vyw28001))
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_@0) → new_ltEs15(vyw28000, vyw29000)
new_ltEs19(vyw2800, vyw2900, app(ty_Maybe, cbd)) → new_ltEs12(vyw2800, vyw2900, cbd)
new_lt15(vyw28000, vyw29000) → new_esEs14(new_compare16(vyw28000, vyw29000), LT)
new_compare6(vyw28000, vyw29000, ty_@0) → new_compare16(vyw28000, vyw29000)
new_esEs8(vyw28000, vyw29000, app(app(ty_@2, cb), cc)) → new_esEs4(vyw28000, vyw29000, cb, cc)
new_lt9(vyw28000, vyw29000, cg) → new_esEs14(new_compare0(vyw28000, vyw29000, cg), LT)
new_compare6(vyw28000, vyw29000, ty_Integer) → new_compare19(vyw28000, vyw29000)
new_ltEs5(vyw28001, vyw29001, ty_Ordering) → new_ltEs13(vyw28001, vyw29001)
new_esEs19(vyw300, vyw4000, app(app(ty_Either, bfe), bff)) → new_esEs5(vyw300, vyw4000, bfe, bff)
new_ltEs19(vyw2800, vyw2900, ty_Float) → new_ltEs16(vyw2800, vyw2900)
new_esEs5(Left(vyw300), Left(vyw4000), app(ty_Maybe, cfa), ceg) → new_esEs6(vyw300, vyw4000, cfa)
new_pePe(False, vyw98) → vyw98
new_esEs26(vyw301, vyw4001, ty_Bool) → new_esEs10(vyw301, vyw4001)
new_esEs19(vyw300, vyw4000, ty_@0) → new_esEs15(vyw300, vyw4000)
new_lt19(vyw28001, vyw29001, ty_Double) → new_lt10(vyw28001, vyw29001)
new_ltEs19(vyw2800, vyw2900, app(app(ty_@2, h), cd)) → new_ltEs4(vyw2800, vyw2900, h, cd)
new_esEs8(vyw28000, vyw29000, ty_Float) → new_esEs16(vyw28000, vyw29000)
new_compare23(vyw28000, vyw29000, True) → EQ
new_esEs28(vyw301, vyw4001, ty_Integer) → new_esEs18(vyw301, vyw4001)
new_lt19(vyw28001, vyw29001, app(ty_[], bce)) → new_lt9(vyw28001, vyw29001, bce)
new_esEs19(vyw300, vyw4000, app(ty_Maybe, bfa)) → new_esEs6(vyw300, vyw4000, bfa)
new_esEs22(vyw300, vyw4000, ty_@0) → new_esEs15(vyw300, vyw4000)
new_ltEs5(vyw28001, vyw29001, app(app(ty_@2, ba), bb)) → new_ltEs4(vyw28001, vyw29001, ba, bb)
new_esEs22(vyw300, vyw4000, app(app(ty_@2, cbh), cca)) → new_esEs4(vyw300, vyw4000, cbh, cca)
new_ltEs14(@3(vyw28000, vyw28001, vyw28002), @3(vyw29000, vyw29001, vyw29002), bae, baf, bcb) → new_pePe(new_lt20(vyw28000, vyw29000, bae), new_asAs(new_esEs23(vyw28000, vyw29000, bae), new_pePe(new_lt19(vyw28001, vyw29001, baf), new_asAs(new_esEs24(vyw28001, vyw29001, baf), new_ltEs20(vyw28002, vyw29002, bcb)))))
new_esEs14(EQ, EQ) → True
new_lt11(vyw28000, vyw29000, bec) → new_esEs14(new_compare12(vyw28000, vyw29000, bec), LT)
new_esEs19(vyw300, vyw4000, ty_Float) → new_esEs16(vyw300, vyw4000)
new_ltEs13(EQ, GT) → True
new_ltEs5(vyw28001, vyw29001, app(app(app(ty_@3, bg), bh), ca)) → new_ltEs14(vyw28001, vyw29001, bg, bh, ca)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Ordering) → new_esEs14(vyw300, vyw4000)
new_esEs5(Right(vyw300), Right(vyw4000), cgb, ty_@0) → new_esEs15(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), app(ty_Ratio, cef)) → new_ltEs11(vyw28000, vyw29000, cef)
new_compare111(vyw28000, vyw29000, False) → GT
new_compare111(vyw28000, vyw29000, True) → LT
new_esEs24(vyw28001, vyw29001, app(ty_[], bce)) → new_esEs11(vyw28001, vyw29001, bce)
new_ltEs5(vyw28001, vyw29001, app(ty_[], be)) → new_ltEs9(vyw28001, vyw29001, be)
new_esEs5(Right(vyw300), Right(vyw4000), cgb, app(app(ty_@2, cge), cgf)) → new_esEs4(vyw300, vyw4000, cge, cgf)
new_lt20(vyw28000, vyw29000, app(app(ty_Either, bdd), bde)) → new_lt7(vyw28000, vyw29000, bdd, bde)
new_esEs5(Right(vyw300), Right(vyw4000), cgb, ty_Char) → new_esEs17(vyw300, vyw4000)
new_ltEs20(vyw28002, vyw29002, app(app(ty_@2, bag), bah)) → new_ltEs4(vyw28002, vyw29002, bag, bah)
new_esEs23(vyw28000, vyw29000, app(app(app(ty_@3, bdh), bea), beb)) → new_esEs7(vyw28000, vyw29000, bdh, bea, beb)
new_primCmpNat0(Zero, Succ(vyw290000)) → LT
new_esEs26(vyw301, vyw4001, ty_Double) → new_esEs12(vyw301, vyw4001)
new_esEs20(vyw301, vyw4001, ty_Ordering) → new_esEs14(vyw301, vyw4001)
new_ltEs20(vyw28002, vyw29002, ty_Bool) → new_ltEs8(vyw28002, vyw29002)
new_lt19(vyw28001, vyw29001, app(app(ty_@2, bbh), bca)) → new_lt5(vyw28001, vyw29001, bbh, bca)
new_lt20(vyw28000, vyw29000, app(app(app(ty_@3, bdh), bea), beb)) → new_lt14(vyw28000, vyw29000, bdh, bea, beb)
new_ltEs7(Left(vyw28000), Left(vyw29000), app(ty_Ratio, cag), dg) → new_ltEs11(vyw28000, vyw29000, cag)
new_esEs25(vyw300, vyw4000, app(app(ty_Either, dad), dae)) → new_esEs5(vyw300, vyw4000, dad, dae)
new_compare24(vyw28000, vyw29000, False, cb, cc) → new_compare110(vyw28000, vyw29000, new_ltEs4(vyw28000, vyw29000, cb, cc), cb, cc)
new_lt20(vyw28000, vyw29000, ty_@0) → new_lt15(vyw28000, vyw29000)
new_esEs21(vyw302, vyw4002, app(ty_Ratio, bhd)) → new_esEs13(vyw302, vyw4002, bhd)
new_lt19(vyw28001, vyw29001, ty_@0) → new_lt15(vyw28001, vyw29001)
new_esEs7(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), bee, bef, beg) → new_asAs(new_esEs19(vyw300, vyw4000, bee), new_asAs(new_esEs20(vyw301, vyw4001, bef), new_esEs21(vyw302, vyw4002, beg)))
new_esEs25(vyw300, vyw4000, app(ty_Ratio, chg)) → new_esEs13(vyw300, vyw4000, chg)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Double) → new_ltEs10(vyw28000, vyw29000)
new_compare0([], [], gb) → EQ
new_pePe(True, vyw98) → True
new_primEqNat0(Zero, Zero) → True
new_esEs6(Just(vyw300), Just(vyw4000), app(app(app(ty_@3, cec), ced), cee)) → new_esEs7(vyw300, vyw4000, cec, ced, cee)
new_esEs23(vyw28000, vyw29000, ty_Ordering) → new_esEs14(vyw28000, vyw29000)
new_ltEs19(vyw2800, vyw2900, ty_Integer) → new_ltEs18(vyw2800, vyw2900)
new_ltEs5(vyw28001, vyw29001, ty_Bool) → new_ltEs8(vyw28001, vyw29001)
new_esEs19(vyw300, vyw4000, app(ty_Ratio, beh)) → new_esEs13(vyw300, vyw4000, beh)
new_esEs26(vyw301, vyw4001, ty_Char) → new_esEs17(vyw301, vyw4001)
new_esEs19(vyw300, vyw4000, ty_Bool) → new_esEs10(vyw300, vyw4000)
new_esEs26(vyw301, vyw4001, app(ty_Maybe, dbb)) → new_esEs6(vyw301, vyw4001, dbb)
new_esEs8(vyw28000, vyw29000, ty_Int) → new_esEs9(vyw28000, vyw29000)
new_esEs5(Left(vyw300), Left(vyw4000), ty_Int, ceg) → new_esEs9(vyw300, vyw4000)
new_lt4(vyw28000, vyw29000, ty_Char) → new_lt17(vyw28000, vyw29000)
new_esEs26(vyw301, vyw4001, app(ty_Ratio, dba)) → new_esEs13(vyw301, vyw4001, dba)
new_lt20(vyw28000, vyw29000, app(ty_[], bdf)) → new_lt9(vyw28000, vyw29000, bdf)
new_esEs25(vyw300, vyw4000, ty_Integer) → new_esEs18(vyw300, vyw4000)
new_compare110(vyw28000, vyw29000, False, cb, cc) → GT
new_ltEs15(vyw2800, vyw2900) → new_not(new_esEs14(new_compare16(vyw2800, vyw2900), GT))
new_ltEs7(Right(vyw28000), Right(vyw29000), eg, ty_Double) → new_ltEs10(vyw28000, vyw29000)
new_ltEs20(vyw28002, vyw29002, app(app(app(ty_@3, bbe), bbf), bbg)) → new_ltEs14(vyw28002, vyw29002, bbe, bbf, bbg)
new_sr(vyw301, vyw4001) → new_primMulInt(vyw301, vyw4001)
new_esEs11(:(vyw300, vyw301), :(vyw4000, vyw4001), cbe) → new_asAs(new_esEs22(vyw300, vyw4000, cbe), new_esEs11(vyw301, vyw4001, cbe))
new_esEs14(LT, GT) → False
new_esEs14(GT, LT) → False
new_ltEs20(vyw28002, vyw29002, app(ty_Ratio, cdb)) → new_ltEs11(vyw28002, vyw29002, cdb)
new_primPlusNat0(Succ(vyw1000), vyw400100) → Succ(Succ(new_primPlusNat1(vyw1000, vyw400100)))
new_lt19(vyw28001, vyw29001, app(ty_Ratio, cda)) → new_lt11(vyw28001, vyw29001, cda)
new_esEs25(vyw300, vyw4000, ty_Float) → new_esEs16(vyw300, vyw4000)
new_esEs20(vyw301, vyw4001, app(app(app(ty_@3, bha), bhb), bhc)) → new_esEs7(vyw301, vyw4001, bha, bhb, bhc)
new_ltEs18(vyw2800, vyw2900) → new_not(new_esEs14(new_compare19(vyw2800, vyw2900), GT))
new_ltEs19(vyw2800, vyw2900, ty_Double) → new_ltEs10(vyw2800, vyw2900)
new_esEs5(Right(vyw300), Right(vyw4000), cgb, app(ty_[], cgg)) → new_esEs11(vyw300, vyw4000, cgg)
new_lt20(vyw28000, vyw29000, ty_Char) → new_lt17(vyw28000, vyw29000)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_@0, dg) → new_ltEs15(vyw28000, vyw29000)
new_esEs5(Left(vyw300), Left(vyw4000), app(ty_Ratio, ceh), ceg) → new_esEs13(vyw300, vyw4000, ceh)
new_ltEs20(vyw28002, vyw29002, ty_Float) → new_ltEs16(vyw28002, vyw29002)
new_ltEs7(Right(vyw28000), Right(vyw29000), eg, ty_@0) → new_ltEs15(vyw28000, vyw29000)
new_lt4(vyw28000, vyw29000, app(app(ty_Either, ce), cf)) → new_lt7(vyw28000, vyw29000, ce, cf)
new_lt14(vyw28000, vyw29000, db, dc, dd) → new_esEs14(new_compare15(vyw28000, vyw29000, db, dc, dd), LT)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Int, dg) → new_ltEs6(vyw28000, vyw29000)
new_lt19(vyw28001, vyw29001, ty_Bool) → new_lt8(vyw28001, vyw29001)
new_primEqInt(Neg(Succ(vyw3000)), Neg(Succ(vyw40000))) → new_primEqNat0(vyw3000, vyw40000)
new_lt20(vyw28000, vyw29000, app(ty_Ratio, cch)) → new_lt11(vyw28000, vyw29000, cch)
new_compare6(vyw28000, vyw29000, ty_Bool) → new_compare10(vyw28000, vyw29000)
new_compare28(vyw28000, vyw29000, False) → new_compare113(vyw28000, vyw29000, new_ltEs13(vyw28000, vyw29000))
new_ltEs5(vyw28001, vyw29001, ty_Char) → new_ltEs17(vyw28001, vyw29001)
new_primCompAux0(vyw28000, vyw29000, vyw99, gb) → new_primCompAux00(vyw99, new_compare6(vyw28000, vyw29000, gb))
new_compare6(vyw28000, vyw29000, ty_Int) → new_compare8(vyw28000, vyw29000)
new_esEs12(Double(vyw300, vyw301), Double(vyw4000, vyw4001)) → new_esEs9(new_sr(vyw300, vyw4000), new_sr(vyw301, vyw4001))
new_esEs19(vyw300, vyw4000, ty_Ordering) → new_esEs14(vyw300, vyw4000)
new_primPlusNat1(Succ(vyw10000), Zero) → Succ(vyw10000)
new_primPlusNat1(Zero, Succ(vyw4001000)) → Succ(vyw4001000)
new_lt4(vyw28000, vyw29000, ty_Integer) → new_lt18(vyw28000, vyw29000)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Bool) → new_ltEs8(vyw28000, vyw29000)
new_compare25(Just(vyw2800), Nothing, False, cbb) → GT
new_compare6(vyw28000, vyw29000, app(ty_Ratio, caf)) → new_compare12(vyw28000, vyw29000, caf)
new_esEs8(vyw28000, vyw29000, ty_@0) → new_esEs15(vyw28000, vyw29000)
new_compare25(Nothing, Nothing, False, cbb) → LT
new_ltEs8(True, True) → True
new_esEs26(vyw301, vyw4001, app(app(app(ty_@3, dbh), dca), dcb)) → new_esEs7(vyw301, vyw4001, dbh, dca, dcb)
new_esEs21(vyw302, vyw4002, ty_Ordering) → new_esEs14(vyw302, vyw4002)
new_esEs21(vyw302, vyw4002, ty_@0) → new_esEs15(vyw302, vyw4002)
new_ltEs13(LT, GT) → True
new_ltEs7(Right(vyw28000), Right(vyw29000), eg, ty_Bool) → new_ltEs8(vyw28000, vyw29000)
new_esEs5(Left(vyw300), Left(vyw4000), app(app(app(ty_@3, cfg), cfh), cga), ceg) → new_esEs7(vyw300, vyw4000, cfg, cfh, cga)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs24(vyw28001, vyw29001, ty_Bool) → new_esEs10(vyw28001, vyw29001)
new_ltEs7(Right(vyw28000), Left(vyw29000), eg, dg) → False
new_compare6(vyw28000, vyw29000, ty_Ordering) → new_compare14(vyw28000, vyw29000)
new_esEs8(vyw28000, vyw29000, app(ty_Ratio, bec)) → new_esEs13(vyw28000, vyw29000, bec)
new_compare8(vyw2800, vyw2900) → new_primCmpInt(vyw2800, vyw2900)
new_primEqInt(Neg(Succ(vyw3000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(vyw40000))) → False
new_lt12(vyw28000, vyw29000, da) → new_esEs14(new_compare13(vyw28000, vyw29000, da), LT)
new_lt20(vyw28000, vyw29000, ty_Ordering) → new_lt13(vyw28000, vyw29000)
new_ltEs7(Right(vyw28000), Right(vyw29000), eg, app(ty_Ratio, cah)) → new_ltEs11(vyw28000, vyw29000, cah)
new_compare24(vyw28000, vyw29000, True, cb, cc) → EQ
new_lt4(vyw28000, vyw29000, ty_Bool) → new_lt8(vyw28000, vyw29000)
new_esEs10(False, False) → True
new_ltEs7(Right(vyw28000), Right(vyw29000), eg, ty_Char) → new_ltEs17(vyw28000, vyw29000)
new_esEs5(Right(vyw300), Right(vyw4000), cgb, ty_Int) → new_esEs9(vyw300, vyw4000)
new_ltEs19(vyw2800, vyw2900, ty_Char) → new_ltEs17(vyw2800, vyw2900)
new_esEs21(vyw302, vyw4002, ty_Integer) → new_esEs18(vyw302, vyw4002)
new_lt4(vyw28000, vyw29000, app(ty_Ratio, bec)) → new_lt11(vyw28000, vyw29000, bec)
new_ltEs7(Left(vyw28000), Left(vyw29000), app(app(ty_@2, de), df), dg) → new_ltEs4(vyw28000, vyw29000, de, df)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_esEs5(Right(vyw300), Right(vyw4000), cgb, ty_Bool) → new_esEs10(vyw300, vyw4000)
new_esEs5(Left(vyw300), Left(vyw4000), app(ty_[], cfd), ceg) → new_esEs11(vyw300, vyw4000, cfd)
new_lt19(vyw28001, vyw29001, ty_Int) → new_lt6(vyw28001, vyw29001)
new_primCmpNat0(Succ(vyw280000), Succ(vyw290000)) → new_primCmpNat0(vyw280000, vyw290000)
new_esEs5(Right(vyw300), Right(vyw4000), cgb, ty_Integer) → new_esEs18(vyw300, vyw4000)
new_esEs6(Nothing, Nothing, cdc) → True
new_ltEs13(GT, LT) → False
new_primEqInt(Pos(Succ(vyw3000)), Pos(Succ(vyw40000))) → new_primEqNat0(vyw3000, vyw40000)
new_compare27(vyw28000, vyw29000, True, ce, cf) → EQ
new_esEs21(vyw302, vyw4002, app(ty_Maybe, bhe)) → new_esEs6(vyw302, vyw4002, bhe)
new_ltEs13(EQ, EQ) → True
new_esEs23(vyw28000, vyw29000, ty_Char) → new_esEs17(vyw28000, vyw29000)
new_lt4(vyw28000, vyw29000, app(ty_Maybe, da)) → new_lt12(vyw28000, vyw29000, da)
new_ltEs17(vyw2800, vyw2900) → new_not(new_esEs14(new_compare18(vyw2800, vyw2900), GT))
new_esEs25(vyw300, vyw4000, ty_Int) → new_esEs9(vyw300, vyw4000)
new_esEs5(Right(vyw300), Right(vyw4000), cgb, app(app(ty_Either, cgh), cha)) → new_esEs5(vyw300, vyw4000, cgh, cha)
new_esEs8(vyw28000, vyw29000, ty_Integer) → new_esEs18(vyw28000, vyw29000)
new_esEs6(Just(vyw300), Nothing, cdc) → False
new_esEs6(Nothing, Just(vyw4000), cdc) → False
new_primEqNat0(Succ(vyw3000), Succ(vyw40000)) → new_primEqNat0(vyw3000, vyw40000)
new_lt5(vyw28000, vyw29000, cb, cc) → new_esEs14(new_compare7(vyw28000, vyw29000, cb, cc), LT)
new_primCompAux00(vyw109, LT) → LT
new_esEs26(vyw301, vyw4001, app(ty_[], dbe)) → new_esEs11(vyw301, vyw4001, dbe)
new_primCmpInt(Neg(Succ(vyw280000)), Neg(vyw29000)) → new_primCmpNat0(vyw29000, Succ(vyw280000))
new_ltEs19(vyw2800, vyw2900, app(app(ty_Either, eg), dg)) → new_ltEs7(vyw2800, vyw2900, eg, dg)
new_compare114(vyw28000, vyw29000, True, ce, cf) → LT
new_esEs26(vyw301, vyw4001, app(app(ty_@2, dbc), dbd)) → new_esEs4(vyw301, vyw4001, dbc, dbd)
new_compare115(vyw28000, vyw29000, True, db, dc, dd) → LT
new_ltEs7(Left(vyw28000), Left(vyw29000), app(ty_[], eb), dg) → new_ltEs9(vyw28000, vyw29000, eb)
new_lt19(vyw28001, vyw29001, app(app(ty_Either, bcc), bcd)) → new_lt7(vyw28001, vyw29001, bcc, bcd)
new_ltEs19(vyw2800, vyw2900, ty_Bool) → new_ltEs8(vyw2800, vyw2900)
new_primEqInt(Pos(Zero), Pos(Succ(vyw40000))) → False
new_primEqInt(Pos(Succ(vyw3000)), Pos(Zero)) → False
new_ltEs20(vyw28002, vyw29002, app(ty_Maybe, bbd)) → new_ltEs12(vyw28002, vyw29002, bbd)
new_lt4(vyw28000, vyw29000, app(ty_[], cg)) → new_lt9(vyw28000, vyw29000, cg)
new_lt13(vyw28000, vyw29000) → new_esEs14(new_compare14(vyw28000, vyw29000), LT)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(vyw280000), Zero) → GT
new_ltEs12(Just(vyw28000), Just(vyw29000), app(app(ty_@2, hd), he)) → new_ltEs4(vyw28000, vyw29000, hd, he)
new_compare9(vyw28000, vyw29000, ce, cf) → new_compare27(vyw28000, vyw29000, new_esEs5(vyw28000, vyw29000, ce, cf), ce, cf)
new_esEs24(vyw28001, vyw29001, ty_@0) → new_esEs15(vyw28001, vyw29001)
new_primCmpInt(Neg(Zero), Pos(Succ(vyw290000))) → LT
new_esEs20(vyw301, vyw4001, app(app(ty_Either, bgg), bgh)) → new_esEs5(vyw301, vyw4001, bgg, bgh)
new_esEs22(vyw300, vyw4000, app(ty_Ratio, cbf)) → new_esEs13(vyw300, vyw4000, cbf)
new_sr0(Integer(vyw280000), Integer(vyw290010)) → Integer(new_primMulInt(vyw280000, vyw290010))
new_lt4(vyw28000, vyw29000, app(app(ty_@2, cb), cc)) → new_lt5(vyw28000, vyw29000, cb, cc)
new_primPlusNat1(Succ(vyw10000), Succ(vyw4001000)) → Succ(Succ(new_primPlusNat1(vyw10000, vyw4001000)))
new_ltEs11(vyw2800, vyw2900, cbc) → new_not(new_esEs14(new_compare12(vyw2800, vyw2900, cbc), GT))
new_primEqInt(Neg(Succ(vyw3000)), Pos(vyw4000)) → False
new_primEqInt(Pos(Succ(vyw3000)), Neg(vyw4000)) → False
new_esEs24(vyw28001, vyw29001, app(ty_Ratio, cda)) → new_esEs13(vyw28001, vyw29001, cda)
new_ltEs12(Just(vyw28000), Just(vyw29000), app(ty_Maybe, baa)) → new_ltEs12(vyw28000, vyw29000, baa)
new_esEs24(vyw28001, vyw29001, app(app(ty_@2, bbh), bca)) → new_esEs4(vyw28001, vyw29001, bbh, bca)
new_esEs5(Right(vyw300), Right(vyw4000), cgb, ty_Ordering) → new_esEs14(vyw300, vyw4000)
new_compare6(vyw28000, vyw29000, app(app(ty_Either, ge), gf)) → new_compare9(vyw28000, vyw29000, ge, gf)
new_esEs8(vyw28000, vyw29000, app(app(ty_Either, ce), cf)) → new_esEs5(vyw28000, vyw29000, ce, cf)
new_ltEs19(vyw2800, vyw2900, ty_@0) → new_ltEs15(vyw2800, vyw2900)
new_ltEs20(vyw28002, vyw29002, ty_Double) → new_ltEs10(vyw28002, vyw29002)
new_esEs11([], :(vyw4000, vyw4001), cbe) → False
new_esEs11(:(vyw300, vyw301), [], cbe) → False
new_ltEs20(vyw28002, vyw29002, ty_Integer) → new_ltEs18(vyw28002, vyw29002)
new_esEs26(vyw301, vyw4001, ty_Int) → new_esEs9(vyw301, vyw4001)
new_esEs8(vyw28000, vyw29000, ty_Char) → new_esEs17(vyw28000, vyw29000)
new_primEqInt(Pos(Zero), Neg(Succ(vyw40000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(vyw40000))) → False
new_esEs4(@2(vyw300, vyw301), @2(vyw4000, vyw4001), che, chf) → new_asAs(new_esEs25(vyw300, vyw4000, che), new_esEs26(vyw301, vyw4001, chf))
new_esEs5(Left(vyw300), Left(vyw4000), app(app(ty_@2, cfb), cfc), ceg) → new_esEs4(vyw300, vyw4000, cfb, cfc)
new_esEs22(vyw300, vyw4000, app(ty_[], ccb)) → new_esEs11(vyw300, vyw4000, ccb)
new_compare23(vyw28000, vyw29000, False) → new_compare111(vyw28000, vyw29000, new_ltEs8(vyw28000, vyw29000))
new_primCmpInt(Pos(Zero), Pos(Succ(vyw290000))) → new_primCmpNat0(Zero, Succ(vyw290000))
new_primCompAux00(vyw109, EQ) → vyw109
new_esEs20(vyw301, vyw4001, ty_Bool) → new_esEs10(vyw301, vyw4001)
new_compare7(vyw28000, vyw29000, cb, cc) → new_compare24(vyw28000, vyw29000, new_esEs4(vyw28000, vyw29000, cb, cc), cb, cc)
new_ltEs13(GT, EQ) → False
new_esEs24(vyw28001, vyw29001, ty_Ordering) → new_esEs14(vyw28001, vyw29001)
new_compare25(Nothing, Just(vyw2900), False, cbb) → LT
new_ltEs13(EQ, LT) → False
new_esEs6(Just(vyw300), Just(vyw4000), ty_Int) → new_esEs9(vyw300, vyw4000)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Bool) → new_esEs10(vyw300, vyw4000)
new_esEs25(vyw300, vyw4000, ty_Bool) → new_esEs10(vyw300, vyw4000)
new_esEs26(vyw301, vyw4001, ty_Float) → new_esEs16(vyw301, vyw4001)
new_compare6(vyw28000, vyw29000, ty_Double) → new_compare11(vyw28000, vyw29000)
new_ltEs8(True, False) → False
new_esEs24(vyw28001, vyw29001, ty_Integer) → new_esEs18(vyw28001, vyw29001)
new_compare113(vyw28000, vyw29000, True) → LT
new_not(False) → True
new_esEs22(vyw300, vyw4000, ty_Ordering) → new_esEs14(vyw300, vyw4000)
new_compare6(vyw28000, vyw29000, ty_Char) → new_compare18(vyw28000, vyw29000)
new_compare114(vyw28000, vyw29000, False, ce, cf) → GT
new_lt20(vyw28000, vyw29000, ty_Bool) → new_lt8(vyw28000, vyw29000)
new_esEs8(vyw28000, vyw29000, app(ty_Maybe, da)) → new_esEs6(vyw28000, vyw29000, da)
new_primCmpInt(Pos(Succ(vyw280000)), Pos(vyw29000)) → new_primCmpNat0(Succ(vyw280000), vyw29000)
new_ltEs20(vyw28002, vyw29002, ty_Ordering) → new_ltEs13(vyw28002, vyw29002)
new_esEs23(vyw28000, vyw29000, ty_@0) → new_esEs15(vyw28000, vyw29000)
new_primPlusNat0(Zero, vyw400100) → Succ(vyw400100)
new_ltEs5(vyw28001, vyw29001, app(ty_Ratio, bed)) → new_ltEs11(vyw28001, vyw29001, bed)
new_esEs8(vyw28000, vyw29000, app(ty_[], cg)) → new_esEs11(vyw28000, vyw29000, cg)
new_esEs19(vyw300, vyw4000, ty_Char) → new_esEs17(vyw300, vyw4000)
new_compare113(vyw28000, vyw29000, False) → GT
new_esEs19(vyw300, vyw4000, ty_Double) → new_esEs12(vyw300, vyw4000)
new_ltEs19(vyw2800, vyw2900, ty_Int) → new_ltEs6(vyw2800, vyw2900)
new_esEs25(vyw300, vyw4000, ty_@0) → new_esEs15(vyw300, vyw4000)
new_esEs20(vyw301, vyw4001, app(ty_[], bgf)) → new_esEs11(vyw301, vyw4001, bgf)
new_compare0(:(vyw28000, vyw28001), [], gb) → GT
new_lt20(vyw28000, vyw29000, ty_Int) → new_lt6(vyw28000, vyw29000)
new_compare28(vyw28000, vyw29000, True) → EQ
new_esEs26(vyw301, vyw4001, app(app(ty_Either, dbf), dbg)) → new_esEs5(vyw301, vyw4001, dbf, dbg)
new_lt8(vyw28000, vyw29000) → new_esEs14(new_compare10(vyw28000, vyw29000), LT)
new_primCmpInt(Pos(Succ(vyw280000)), Neg(vyw29000)) → GT
new_esEs22(vyw300, vyw4000, app(app(app(ty_@3, cce), ccf), ccg)) → new_esEs7(vyw300, vyw4000, cce, ccf, ccg)
new_esEs8(vyw28000, vyw29000, app(app(app(ty_@3, db), dc), dd)) → new_esEs7(vyw28000, vyw29000, db, dc, dd)
new_ltEs12(Just(vyw28000), Just(vyw29000), app(app(ty_Either, hf), hg)) → new_ltEs7(vyw28000, vyw29000, hf, hg)
new_lt19(vyw28001, vyw29001, ty_Char) → new_lt17(vyw28001, vyw29001)
new_lt19(vyw28001, vyw29001, app(app(app(ty_@3, bcg), bch), bda)) → new_lt14(vyw28001, vyw29001, bcg, bch, bda)
new_compare115(vyw28000, vyw29000, False, db, dc, dd) → GT
new_lt19(vyw28001, vyw29001, ty_Float) → new_lt16(vyw28001, vyw29001)
new_primMulInt(Pos(vyw3010), Pos(vyw40010)) → Pos(new_primMulNat0(vyw3010, vyw40010))
new_esEs21(vyw302, vyw4002, app(app(ty_@2, bhf), bhg)) → new_esEs4(vyw302, vyw4002, bhf, bhg)
new_lt4(vyw28000, vyw29000, ty_@0) → new_lt15(vyw28000, vyw29000)
new_compare19(Integer(vyw28000), Integer(vyw29000)) → new_primCmpInt(vyw28000, vyw29000)
new_esEs10(True, True) → True
new_esEs5(Right(vyw300), Left(vyw4000), cgb, ceg) → False
new_esEs5(Left(vyw300), Right(vyw4000), cgb, ceg) → False
new_lt4(vyw28000, vyw29000, ty_Float) → new_lt16(vyw28000, vyw29000)
new_primMulInt(Neg(vyw3010), Neg(vyw40010)) → Pos(new_primMulNat0(vyw3010, vyw40010))
new_ltEs5(vyw28001, vyw29001, app(ty_Maybe, bf)) → new_ltEs12(vyw28001, vyw29001, bf)
new_ltEs8(False, False) → True
new_primEqNat0(Succ(vyw3000), Zero) → False
new_primEqNat0(Zero, Succ(vyw40000)) → False
new_esEs21(vyw302, vyw4002, ty_Int) → new_esEs9(vyw302, vyw4002)
new_ltEs19(vyw2800, vyw2900, app(app(app(ty_@3, bae), baf), bcb)) → new_ltEs14(vyw2800, vyw2900, bae, baf, bcb)
new_ltEs7(Left(vyw28000), Left(vyw29000), app(app(ty_Either, dh), ea), dg) → new_ltEs7(vyw28000, vyw29000, dh, ea)
new_esEs25(vyw300, vyw4000, app(ty_Maybe, chh)) → new_esEs6(vyw300, vyw4000, chh)
new_esEs20(vyw301, vyw4001, ty_@0) → new_esEs15(vyw301, vyw4001)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_ltEs16(vyw2800, vyw2900) → new_not(new_esEs14(new_compare17(vyw2800, vyw2900), GT))
new_esEs25(vyw300, vyw4000, app(ty_[], dac)) → new_esEs11(vyw300, vyw4000, dac)
new_ltEs7(Right(vyw28000), Right(vyw29000), eg, app(app(app(ty_@3, fg), fh), ga)) → new_ltEs14(vyw28000, vyw29000, fg, fh, ga)
new_esEs22(vyw300, vyw4000, ty_Int) → new_esEs9(vyw300, vyw4000)
new_ltEs7(Right(vyw28000), Right(vyw29000), eg, app(ty_Maybe, ff)) → new_ltEs12(vyw28000, vyw29000, ff)
new_esEs26(vyw301, vyw4001, ty_Ordering) → new_esEs14(vyw301, vyw4001)
new_ltEs5(vyw28001, vyw29001, ty_Int) → new_ltEs6(vyw28001, vyw29001)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Char, dg) → new_ltEs17(vyw28000, vyw29000)
new_esEs24(vyw28001, vyw29001, ty_Int) → new_esEs9(vyw28001, vyw29001)
new_lt4(vyw28000, vyw29000, ty_Int) → new_lt6(vyw28000, vyw29000)
new_esEs14(LT, EQ) → False
new_esEs14(EQ, LT) → False
new_esEs21(vyw302, vyw4002, ty_Char) → new_esEs17(vyw302, vyw4002)
new_primCmpInt(Neg(Zero), Neg(Succ(vyw290000))) → new_primCmpNat0(Succ(vyw290000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(vyw290000))) → GT
new_lt20(vyw28000, vyw29000, ty_Float) → new_lt16(vyw28000, vyw29000)
new_esEs5(Right(vyw300), Right(vyw4000), cgb, app(app(app(ty_@3, chb), chc), chd)) → new_esEs7(vyw300, vyw4000, chb, chc, chd)
new_esEs27(vyw300, vyw4000, ty_Int) → new_esEs9(vyw300, vyw4000)
new_esEs5(Left(vyw300), Left(vyw4000), ty_Integer, ceg) → new_esEs18(vyw300, vyw4000)
new_esEs23(vyw28000, vyw29000, app(ty_[], bdf)) → new_esEs11(vyw28000, vyw29000, bdf)
new_compare26(vyw28000, vyw29000, False, db, dc, dd) → new_compare115(vyw28000, vyw29000, new_ltEs14(vyw28000, vyw29000, db, dc, dd), db, dc, dd)
new_esEs6(Just(vyw300), Just(vyw4000), app(app(ty_Either, cea), ceb)) → new_esEs5(vyw300, vyw4000, cea, ceb)
new_lt4(vyw28000, vyw29000, ty_Ordering) → new_lt13(vyw28000, vyw29000)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Double, dg) → new_ltEs10(vyw28000, vyw29000)
new_ltEs9(vyw2800, vyw2900, gb) → new_not(new_esEs14(new_compare0(vyw2800, vyw2900, gb), GT))
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Ordering, dg) → new_ltEs13(vyw28000, vyw29000)
new_esEs14(EQ, GT) → False
new_esEs14(GT, EQ) → False
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs24(vyw28001, vyw29001, app(app(app(ty_@3, bcg), bch), bda)) → new_esEs7(vyw28001, vyw29001, bcg, bch, bda)
new_compare17(Float(vyw28000, vyw28001), Float(vyw29000, vyw29001)) → new_compare8(new_sr(vyw28000, vyw29000), new_sr(vyw28001, vyw29001))
new_esEs5(Left(vyw300), Left(vyw4000), ty_Bool, ceg) → new_esEs10(vyw300, vyw4000)
new_esEs20(vyw301, vyw4001, app(ty_Maybe, bgc)) → new_esEs6(vyw301, vyw4001, bgc)
new_compare13(vyw28000, vyw29000, da) → new_compare25(vyw28000, vyw29000, new_esEs6(vyw28000, vyw29000, da), da)
new_lt19(vyw28001, vyw29001, ty_Ordering) → new_lt13(vyw28001, vyw29001)
new_ltEs13(GT, GT) → True
new_esEs24(vyw28001, vyw29001, ty_Double) → new_esEs12(vyw28001, vyw29001)
new_ltEs7(Right(vyw28000), Right(vyw29000), eg, app(app(ty_Either, fb), fc)) → new_ltEs7(vyw28000, vyw29000, fb, fc)
new_esEs15(@0, @0) → True
new_lt17(vyw28000, vyw29000) → new_esEs14(new_compare18(vyw28000, vyw29000), LT)
new_esEs13(:%(vyw300, vyw301), :%(vyw4000, vyw4001), dcc) → new_asAs(new_esEs27(vyw300, vyw4000, dcc), new_esEs28(vyw301, vyw4001, dcc))
new_asAs(False, vyw91) → False
new_esEs22(vyw300, vyw4000, ty_Double) → new_esEs12(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Integer) → new_ltEs18(vyw28000, vyw29000)
new_primMulInt(Pos(vyw3010), Neg(vyw40010)) → Neg(new_primMulNat0(vyw3010, vyw40010))
new_primMulInt(Neg(vyw3010), Pos(vyw40010)) → Neg(new_primMulNat0(vyw3010, vyw40010))
new_esEs6(Just(vyw300), Just(vyw4000), app(ty_[], cdh)) → new_esEs11(vyw300, vyw4000, cdh)
new_esEs22(vyw300, vyw4000, ty_Integer) → new_esEs18(vyw300, vyw4000)
new_primMulNat0(Succ(vyw30100), Zero) → Zero
new_primMulNat0(Zero, Succ(vyw400100)) → Zero
new_esEs21(vyw302, vyw4002, app(app(ty_Either, caa), cab)) → new_esEs5(vyw302, vyw4002, caa, cab)
new_esEs6(Just(vyw300), Just(vyw4000), app(ty_Maybe, cde)) → new_esEs6(vyw300, vyw4000, cde)
new_esEs19(vyw300, vyw4000, app(ty_[], bfd)) → new_esEs11(vyw300, vyw4000, bfd)
new_esEs23(vyw28000, vyw29000, ty_Int) → new_esEs9(vyw28000, vyw29000)
new_esEs27(vyw300, vyw4000, ty_Integer) → new_esEs18(vyw300, vyw4000)
new_esEs20(vyw301, vyw4001, ty_Float) → new_esEs16(vyw301, vyw4001)
new_esEs18(Integer(vyw300), Integer(vyw4000)) → new_primEqInt(vyw300, vyw4000)
new_esEs6(Just(vyw300), Just(vyw4000), app(app(ty_@2, cdf), cdg)) → new_esEs4(vyw300, vyw4000, cdf, cdg)
new_lt19(vyw28001, vyw29001, app(ty_Maybe, bcf)) → new_lt12(vyw28001, vyw29001, bcf)
new_esEs23(vyw28000, vyw29000, app(ty_Maybe, bdg)) → new_esEs6(vyw28000, vyw29000, bdg)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Float, dg) → new_ltEs16(vyw28000, vyw29000)
new_lt4(vyw28000, vyw29000, app(app(app(ty_@3, db), dc), dd)) → new_lt14(vyw28000, vyw29000, db, dc, dd)
new_esEs8(vyw28000, vyw29000, ty_Bool) → new_esEs10(vyw28000, vyw29000)
new_ltEs12(Nothing, Just(vyw29000), cbd) → True
new_ltEs7(Left(vyw28000), Left(vyw29000), app(ty_Maybe, ec), dg) → new_ltEs12(vyw28000, vyw29000, ec)
new_esEs14(GT, GT) → True
new_esEs8(vyw28000, vyw29000, ty_Ordering) → new_esEs14(vyw28000, vyw29000)
new_esEs20(vyw301, vyw4001, app(app(ty_@2, bgd), bge)) → new_esEs4(vyw301, vyw4001, bgd, bge)
new_ltEs7(Left(vyw28000), Left(vyw29000), app(app(app(ty_@3, ed), ee), ef), dg) → new_ltEs14(vyw28000, vyw29000, ed, ee, ef)
new_esEs23(vyw28000, vyw29000, ty_Bool) → new_esEs10(vyw28000, vyw29000)
new_esEs5(Left(vyw300), Left(vyw4000), ty_@0, ceg) → new_esEs15(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Ordering) → new_ltEs13(vyw28000, vyw29000)
new_esEs5(Right(vyw300), Right(vyw4000), cgb, app(ty_Maybe, cgd)) → new_esEs6(vyw300, vyw4000, cgd)
new_esEs22(vyw300, vyw4000, ty_Float) → new_esEs16(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), app(app(app(ty_@3, bab), bac), bad)) → new_ltEs14(vyw28000, vyw29000, bab, bac, bad)
new_esEs25(vyw300, vyw4000, app(app(app(ty_@3, daf), dag), dah)) → new_esEs7(vyw300, vyw4000, daf, dag, dah)
new_ltEs20(vyw28002, vyw29002, app(app(ty_Either, bba), bbb)) → new_ltEs7(vyw28002, vyw29002, bba, bbb)
new_compare12(:%(vyw28000, vyw28001), :%(vyw29000, vyw29001), ty_Int) → new_compare8(new_sr(vyw28000, vyw29001), new_sr(vyw29000, vyw28001))
new_compare25(Just(vyw2800), Just(vyw2900), False, cbb) → new_compare112(vyw2800, vyw2900, new_ltEs19(vyw2800, vyw2900, cbb), cbb)
new_esEs26(vyw301, vyw4001, ty_Integer) → new_esEs18(vyw301, vyw4001)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Char) → new_ltEs17(vyw28000, vyw29000)
new_esEs5(Left(vyw300), Left(vyw4000), app(app(ty_Either, cfe), cff), ceg) → new_esEs5(vyw300, vyw4000, cfe, cff)
new_compare18(Char(vyw28000), Char(vyw29000)) → new_primCmpNat0(vyw28000, vyw29000)
new_ltEs5(vyw28001, vyw29001, ty_Double) → new_ltEs10(vyw28001, vyw29001)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Float) → new_esEs16(vyw300, vyw4000)
new_esEs21(vyw302, vyw4002, ty_Double) → new_esEs12(vyw302, vyw4002)
new_esEs21(vyw302, vyw4002, app(ty_[], bhh)) → new_esEs11(vyw302, vyw4002, bhh)
new_esEs28(vyw301, vyw4001, ty_Int) → new_esEs9(vyw301, vyw4001)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Integer) → new_esEs18(vyw300, vyw4000)
new_compare112(vyw84, vyw85, False, cba) → GT
new_ltEs13(LT, LT) → True
new_esEs23(vyw28000, vyw29000, ty_Double) → new_esEs12(vyw28000, vyw29000)
new_esEs20(vyw301, vyw4001, ty_Char) → new_esEs17(vyw301, vyw4001)
new_compare26(vyw28000, vyw29000, True, db, dc, dd) → EQ
new_esEs6(Just(vyw300), Just(vyw4000), ty_@0) → new_esEs15(vyw300, vyw4000)
new_lt7(vyw28000, vyw29000, ce, cf) → new_esEs14(new_compare9(vyw28000, vyw29000, ce, cf), LT)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Integer, dg) → new_ltEs18(vyw28000, vyw29000)
new_compare0([], :(vyw29000, vyw29001), gb) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_ltEs5(vyw28001, vyw29001, app(app(ty_Either, bc), bd)) → new_ltEs7(vyw28001, vyw29001, bc, bd)
new_asAs(True, vyw91) → vyw91
new_esEs24(vyw28001, vyw29001, ty_Float) → new_esEs16(vyw28001, vyw29001)
new_esEs5(Right(vyw300), Right(vyw4000), cgb, ty_Double) → new_esEs12(vyw300, vyw4000)
new_ltEs5(vyw28001, vyw29001, ty_Float) → new_ltEs16(vyw28001, vyw29001)
new_primMulNat0(Succ(vyw30100), Succ(vyw400100)) → new_primPlusNat0(new_primMulNat0(vyw30100, Succ(vyw400100)), vyw400100)
new_ltEs5(vyw28001, vyw29001, ty_Integer) → new_ltEs18(vyw28001, vyw29001)
new_ltEs7(Right(vyw28000), Right(vyw29000), eg, ty_Ordering) → new_ltEs13(vyw28000, vyw29000)
new_esEs10(False, True) → False
new_esEs10(True, False) → False
new_esEs14(LT, LT) → True
new_ltEs12(Just(vyw28000), Nothing, cbd) → False
new_lt16(vyw28000, vyw29000) → new_esEs14(new_compare17(vyw28000, vyw29000), LT)
new_esEs5(Left(vyw300), Left(vyw4000), ty_Float, ceg) → new_esEs16(vyw300, vyw4000)
new_esEs20(vyw301, vyw4001, ty_Integer) → new_esEs18(vyw301, vyw4001)
new_compare6(vyw28000, vyw29000, app(ty_Maybe, gh)) → new_compare13(vyw28000, vyw29000, gh)
new_esEs25(vyw300, vyw4000, ty_Ordering) → new_esEs14(vyw300, vyw4000)
new_ltEs7(Right(vyw28000), Right(vyw29000), eg, ty_Float) → new_ltEs16(vyw28000, vyw29000)
new_esEs9(vyw30, vyw400) → new_primEqInt(vyw30, vyw400)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Bool, dg) → new_ltEs8(vyw28000, vyw29000)
new_esEs24(vyw28001, vyw29001, app(ty_Maybe, bcf)) → new_esEs6(vyw28001, vyw29001, bcf)
new_esEs21(vyw302, vyw4002, ty_Bool) → new_esEs10(vyw302, vyw4002)
new_ltEs20(vyw28002, vyw29002, ty_Int) → new_ltEs6(vyw28002, vyw29002)
new_lt10(vyw28000, vyw29000) → new_esEs14(new_compare11(vyw28000, vyw29000), LT)
new_ltEs7(Right(vyw28000), Right(vyw29000), eg, ty_Integer) → new_ltEs18(vyw28000, vyw29000)
new_esEs19(vyw300, vyw4000, ty_Integer) → new_esEs18(vyw300, vyw4000)
new_ltEs5(vyw28001, vyw29001, ty_@0) → new_ltEs15(vyw28001, vyw29001)
new_esEs22(vyw300, vyw4000, app(app(ty_Either, ccc), ccd)) → new_esEs5(vyw300, vyw4000, ccc, ccd)
new_lt20(vyw28000, vyw29000, ty_Double) → new_lt10(vyw28000, vyw29000)
new_primCompAux00(vyw109, GT) → GT
new_esEs21(vyw302, vyw4002, ty_Float) → new_esEs16(vyw302, vyw4002)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs19(vyw300, vyw4000, app(app(ty_@2, bfb), bfc)) → new_esEs4(vyw300, vyw4000, bfb, bfc)
new_ltEs10(vyw2800, vyw2900) → new_not(new_esEs14(new_compare11(vyw2800, vyw2900), GT))
new_lt20(vyw28000, vyw29000, app(ty_Maybe, bdg)) → new_lt12(vyw28000, vyw29000, bdg)
new_esEs5(Right(vyw300), Right(vyw4000), cgb, app(ty_Ratio, cgc)) → new_esEs13(vyw300, vyw4000, cgc)
new_ltEs20(vyw28002, vyw29002, ty_Char) → new_ltEs17(vyw28002, vyw29002)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primCmpInt(Neg(Succ(vyw280000)), Pos(vyw29000)) → LT
new_compare15(vyw28000, vyw29000, db, dc, dd) → new_compare26(vyw28000, vyw29000, new_esEs7(vyw28000, vyw29000, db, dc, dd), db, dc, dd)
new_compare11(Double(vyw28000, vyw28001), Double(vyw29000, vyw29001)) → new_compare8(new_sr(vyw28000, vyw29000), new_sr(vyw28001, vyw29001))
new_ltEs7(Right(vyw28000), Right(vyw29000), eg, ty_Int) → new_ltEs6(vyw28000, vyw29000)
new_not(True) → False
new_ltEs19(vyw2800, vyw2900, ty_Ordering) → new_ltEs13(vyw2800, vyw2900)
new_esEs5(Left(vyw300), Left(vyw4000), ty_Char, ceg) → new_esEs17(vyw300, vyw4000)
new_ltEs4(@2(vyw28000, vyw28001), @2(vyw29000, vyw29001), h, cd) → new_pePe(new_lt4(vyw28000, vyw29000, h), new_asAs(new_esEs8(vyw28000, vyw29000, h), new_ltEs5(vyw28001, vyw29001, cd)))
new_compare6(vyw28000, vyw29000, app(app(ty_@2, gc), gd)) → new_compare7(vyw28000, vyw29000, gc, gd)

The set Q consists of the following terms:

new_pePe(True, x0)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs11([], :(x0, x1), x2)
new_ltEs12(Just(x0), Nothing, x1)
new_esEs21(x0, x1, ty_Integer)
new_compare27(x0, x1, False, x2, x3)
new_compare24(x0, x1, True, x2, x3)
new_compare6(x0, x1, ty_Bool)
new_ltEs20(x0, x1, ty_@0)
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs25(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Char)
new_esEs14(GT, EQ)
new_esEs14(EQ, GT)
new_compare6(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, ty_Float)
new_esEs20(x0, x1, ty_Float)
new_primPlusNat1(Succ(x0), Succ(x1))
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_compare6(x0, x1, ty_Float)
new_lt11(x0, x1, x2)
new_ltEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Char)
new_compare6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs15(x0, x1)
new_esEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_pePe(False, x0)
new_esEs25(x0, x1, ty_Ordering)
new_lt4(x0, x1, ty_Integer)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_ltEs5(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Float)
new_esEs23(x0, x1, ty_Double)
new_esEs24(x0, x1, ty_Bool)
new_lt4(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1)
new_esEs20(x0, x1, ty_Integer)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, ty_Int)
new_lt19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs28(x0, x1, ty_Integer)
new_ltEs7(Left(x0), Left(x1), ty_Char, x2)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primPlusNat1(Succ(x0), Zero)
new_esEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Nothing, Nothing, x0)
new_esEs22(x0, x1, ty_Ordering)
new_esEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(Left(x0), Left(x1), ty_Bool, x2)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1, ty_Double)
new_ltEs18(x0, x1)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs6(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs25(x0, x1, ty_Float)
new_ltEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs7(Right(x0), Right(x1), x2, ty_Double)
new_esEs21(x0, x1, ty_@0)
new_esEs24(x0, x1, ty_Int)
new_ltEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_ltEs8(True, True)
new_esEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat0(Succ(x0), Succ(x1))
new_ltEs19(x0, x1, ty_Int)
new_ltEs7(Right(x0), Right(x1), x2, ty_Int)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_ltEs20(x0, x1, app(ty_[], x2))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_compare6(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Char)
new_ltEs7(Right(x0), Right(x1), x2, ty_Integer)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_compare114(x0, x1, False, x2, x3)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare12(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs6(Just(x0), Just(x1), ty_Char)
new_compare28(x0, x1, True)
new_ltEs12(Just(x0), Just(x1), ty_@0)
new_esEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs7(Right(x0), Right(x1), x2, ty_@0)
new_esEs14(LT, GT)
new_esEs14(GT, LT)
new_compare6(x0, x1, app(app(ty_@2, x2), x3))
new_lt19(x0, x1, ty_Integer)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare15(x0, x1, x2, x3, x4)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_asAs(True, x0)
new_ltEs20(x0, x1, ty_Ordering)
new_ltEs9(x0, x1, x2)
new_ltEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(x0, x1, ty_Double)
new_ltEs14(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_primEqNat0(Zero, Zero)
new_lt19(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, ty_Int)
new_esEs6(Just(x0), Nothing, x1)
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(x0, x1, ty_Char)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_compare111(x0, x1, False)
new_compare13(x0, x1, x2)
new_primEqNat0(Succ(x0), Zero)
new_ltEs13(EQ, EQ)
new_esEs19(x0, x1, ty_Bool)
new_esEs27(x0, x1, ty_Int)
new_esEs26(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_@0)
new_ltEs10(x0, x1)
new_lt8(x0, x1)
new_primMulNat0(Zero, Zero)
new_lt13(x0, x1)
new_compare113(x0, x1, True)
new_ltEs12(Nothing, Just(x0), x1)
new_esEs10(False, True)
new_esEs10(True, False)
new_ltEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs24(x0, x1, app(ty_[], x2))
new_esEs6(Just(x0), Just(x1), app(ty_[], x2))
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(Left(x0), Left(x1), ty_@0, x2)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_compare25(Just(x0), Nothing, False, x1)
new_primMulNat0(Zero, Succ(x0))
new_ltEs20(x0, x1, ty_Bool)
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_esEs22(x0, x1, ty_Float)
new_ltEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_compare26(x0, x1, True, x2, x3, x4)
new_ltEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_compare7(x0, x1, x2, x3)
new_esEs20(x0, x1, ty_Int)
new_ltEs13(LT, EQ)
new_ltEs13(EQ, LT)
new_primPlusNat0(Succ(x0), x1)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_lt19(x0, x1, app(ty_[], x2))
new_esEs19(x0, x1, ty_Integer)
new_esEs22(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Integer)
new_lt19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), ty_Bool)
new_lt4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_@0)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs5(Left(x0), Left(x1), ty_Bool, x2)
new_sr(x0, x1)
new_ltEs5(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpNat0(Zero, Succ(x0))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_esEs11(:(x0, x1), [], x2)
new_esEs5(Left(x0), Left(x1), ty_Float, x2)
new_lt4(x0, x1, ty_Double)
new_primEqNat0(Zero, Succ(x0))
new_esEs23(x0, x1, ty_Bool)
new_esEs6(Just(x0), Just(x1), app(ty_Ratio, x2))
new_asAs(False, x0)
new_ltEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs24(x0, x1, ty_Double)
new_ltEs6(x0, x1)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs24(x0, x1, ty_Integer)
new_esEs8(x0, x1, ty_Char)
new_esEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs20(x0, x1, ty_@0)
new_compare28(x0, x1, False)
new_compare112(x0, x1, False, x2)
new_esEs22(x0, x1, ty_@0)
new_esEs6(Just(x0), Just(x1), ty_Bool)
new_lt4(x0, x1, ty_Int)
new_ltEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_compare16(@0, @0)
new_ltEs7(Right(x0), Left(x1), x2, x3)
new_ltEs7(Left(x0), Left(x1), ty_@0, x2)
new_ltEs7(Left(x0), Right(x1), x2, x3)
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_ltEs19(x0, x1, ty_Bool)
new_lt19(x0, x1, app(ty_Maybe, x2))
new_esEs12(Double(x0, x1), Double(x2, x3))
new_esEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_compare17(Float(x0, x1), Float(x2, x3))
new_esEs23(x0, x1, ty_Float)
new_compare0([], [], x0)
new_lt19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(Just(x0), Just(x1), ty_@0)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_ltEs12(Just(x0), Just(x1), ty_Double)
new_ltEs5(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_primPlusNat1(Zero, Zero)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs14(LT, LT)
new_esEs10(True, True)
new_esEs24(x0, x1, ty_Float)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs19(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Double)
new_ltEs20(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt19(x0, x1, ty_@0)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_ltEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_compare113(x0, x1, False)
new_compare6(x0, x1, ty_Integer)
new_compare110(x0, x1, False, x2, x3)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs8(x0, x1, ty_@0)
new_primCompAux0(x0, x1, x2, x3)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs5(x0, x1, ty_Char)
new_ltEs7(Right(x0), Right(x1), x2, ty_Float)
new_ltEs5(x0, x1, app(ty_Ratio, x2))
new_compare115(x0, x1, True, x2, x3, x4)
new_lt20(x0, x1, app(ty_[], x2))
new_compare10(x0, x1)
new_esEs22(x0, x1, ty_Bool)
new_esEs27(x0, x1, ty_Integer)
new_compare25(Nothing, Just(x0), False, x1)
new_esEs8(x0, x1, ty_Double)
new_lt20(x0, x1, ty_Integer)
new_ltEs13(EQ, GT)
new_ltEs13(GT, EQ)
new_esEs26(x0, x1, ty_Double)
new_esEs6(Just(x0), Just(x1), ty_Float)
new_compare6(x0, x1, app(ty_Maybe, x2))
new_ltEs8(False, False)
new_lt20(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Int)
new_compare6(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_ltEs19(x0, x1, ty_Float)
new_esEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs19(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, ty_Char)
new_esEs8(x0, x1, ty_Int)
new_ltEs7(Left(x0), Left(x1), ty_Int, x2)
new_compare27(x0, x1, True, x2, x3)
new_primMulInt(Neg(x0), Neg(x1))
new_compare114(x0, x1, True, x2, x3)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Pos(Zero))
new_esEs8(x0, x1, ty_Float)
new_ltEs8(False, True)
new_ltEs8(True, False)
new_lt4(x0, x1, ty_Bool)
new_ltEs12(Just(x0), Just(x1), ty_Int)
new_esEs5(Right(x0), Right(x1), x2, ty_Double)
new_compare110(x0, x1, True, x2, x3)
new_compare19(Integer(x0), Integer(x1))
new_esEs5(Left(x0), Left(x1), ty_Int, x2)
new_esEs25(x0, x1, ty_Char)
new_ltEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_lt18(x0, x1)
new_ltEs13(LT, GT)
new_ltEs13(GT, LT)
new_primCompAux00(x0, EQ)
new_esEs21(x0, x1, ty_Double)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_ltEs7(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs5(Right(x0), Right(x1), x2, ty_Int)
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs5(Right(x0), Right(x1), x2, ty_Char)
new_lt5(x0, x1, x2, x3)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_sr0(Integer(x0), Integer(x1))
new_ltEs19(x0, x1, ty_Char)
new_ltEs19(x0, x1, ty_Double)
new_compare18(Char(x0), Char(x1))
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs8(x0, x1, ty_Bool)
new_esEs5(Right(x0), Right(x1), x2, ty_Float)
new_ltEs5(x0, x1, ty_Bool)
new_esEs6(Just(x0), Just(x1), ty_Ordering)
new_esEs20(x0, x1, ty_Bool)
new_esEs6(Just(x0), Just(x1), ty_Integer)
new_esEs6(Nothing, Just(x0), x1)
new_compare8(x0, x1)
new_ltEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs12(Just(x0), Just(x1), ty_Float)
new_ltEs19(x0, x1, ty_@0)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_primCompAux00(x0, LT)
new_lt17(x0, x1)
new_esEs18(Integer(x0), Integer(x1))
new_lt20(x0, x1, ty_Bool)
new_ltEs7(Right(x0), Right(x1), x2, ty_Bool)
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt4(x0, x1, app(ty_Ratio, x2))
new_ltEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_lt12(x0, x1, x2)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs17(Char(x0), Char(x1))
new_esEs19(x0, x1, ty_Double)
new_lt6(x0, x1)
new_esEs26(x0, x1, ty_Bool)
new_ltEs20(x0, x1, ty_Int)
new_lt4(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs8(x0, x1, app(ty_[], x2))
new_lt19(x0, x1, ty_Ordering)
new_esEs23(x0, x1, ty_Int)
new_esEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_lt4(x0, x1, app(app(ty_@2, x2), x3))
new_lt19(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Bool)
new_ltEs11(x0, x1, x2)
new_esEs26(x0, x1, ty_Ordering)
new_esEs23(x0, x1, ty_Char)
new_primCmpNat0(Zero, Zero)
new_lt7(x0, x1, x2, x3)
new_lt4(x0, x1, ty_Char)
new_esEs5(Right(x0), Right(x1), x2, ty_@0)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt14(x0, x1, x2, x3, x4)
new_esEs5(Right(x0), Right(x1), x2, ty_Integer)
new_esEs10(False, False)
new_esEs19(x0, x1, ty_Char)
new_ltEs5(x0, x1, app(ty_Maybe, x2))
new_primPlusNat1(Zero, Succ(x0))
new_lt20(x0, x1, ty_Int)
new_ltEs13(LT, LT)
new_esEs19(x0, x1, app(ty_Ratio, x2))
new_lt19(x0, x1, ty_Bool)
new_esEs6(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs15(@0, @0)
new_esEs22(x0, x1, ty_Integer)
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(Just(x0), Just(x1), ty_Char)
new_esEs6(Just(x0), Just(x1), ty_Double)
new_compare25(Nothing, Nothing, False, x0)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_Bool)
new_primCmpNat0(Succ(x0), Zero)
new_esEs7(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_compare112(x0, x1, True, x2)
new_compare25(Just(x0), Just(x1), False, x2)
new_esEs11(:(x0, x1), :(x2, x3), x4)
new_esEs6(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt19(x0, x1, ty_Double)
new_ltEs5(x0, x1, ty_Int)
new_ltEs13(GT, GT)
new_ltEs20(x0, x1, ty_Double)
new_esEs19(x0, x1, app(ty_[], x2))
new_esEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs16(Float(x0, x1), Float(x2, x3))
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs7(Left(x0), Left(x1), ty_Double, x2)
new_esEs24(x0, x1, ty_@0)
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_esEs5(Left(x0), Right(x1), x2, x3)
new_esEs5(Right(x0), Left(x1), x2, x3)
new_lt20(x0, x1, ty_@0)
new_ltEs7(Left(x0), Left(x1), ty_Float, x2)
new_compare14(x0, x1)
new_not(True)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_lt19(x0, x1, ty_Float)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, app(ty_[], x2))
new_lt9(x0, x1, x2)
new_compare23(x0, x1, False)
new_ltEs5(x0, x1, ty_Ordering)
new_lt4(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Ordering)
new_esEs5(Right(x0), Right(x1), x2, ty_Bool)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_lt4(x0, x1, ty_@0)
new_esEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_not(False)
new_primCompAux00(x0, GT)
new_esEs23(x0, x1, ty_Integer)
new_lt15(x0, x1)
new_ltEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs8(x0, x1, ty_Integer)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, ty_Double)
new_esEs25(x0, x1, ty_@0)
new_compare111(x0, x1, True)
new_esEs5(Left(x0), Left(x1), ty_Double, x2)
new_compare6(x0, x1, ty_Char)
new_ltEs7(Right(x0), Right(x1), x2, ty_Char)
new_esEs11([], [], x0)
new_esEs28(x0, x1, ty_Int)
new_ltEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs5(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs17(x0, x1)
new_compare24(x0, x1, False, x2, x3)
new_compare0([], :(x0, x1), x2)
new_ltEs12(Just(x0), Just(x1), ty_Integer)
new_esEs14(EQ, LT)
new_esEs14(LT, EQ)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_compare6(x0, x1, ty_Int)
new_lt20(x0, x1, ty_Ordering)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_compare23(x0, x1, True)
new_esEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs14(GT, GT)
new_compare0(:(x0, x1), [], x2)
new_ltEs16(x0, x1)
new_esEs19(x0, x1, ty_@0)
new_esEs6(Just(x0), Just(x1), ty_Int)
new_ltEs5(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, app(ty_[], x2))
new_compare9(x0, x1, x2, x3)
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_esEs19(x0, x1, ty_Float)
new_lt4(x0, x1, ty_Float)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_compare11(Double(x0, x1), Double(x2, x3))
new_esEs20(x0, x1, ty_Char)
new_esEs26(x0, x1, ty_Char)
new_esEs25(x0, x1, ty_Double)
new_compare25(x0, x1, True, x2)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs14(EQ, EQ)
new_compare6(x0, x1, ty_@0)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs12(Just(x0), Just(x1), ty_Ordering)
new_esEs20(x0, x1, ty_Ordering)
new_ltEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqNat0(Succ(x0), Succ(x1))
new_compare26(x0, x1, False, x2, x3, x4)
new_lt4(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_lt19(x0, x1, ty_Int)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs19(x0, x1, app(ty_Maybe, x2))
new_esEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs8(x0, x1, ty_Ordering)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_lt16(x0, x1)
new_esEs21(x0, x1, ty_Ordering)
new_esEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs5(Left(x0), Left(x1), ty_Char, x2)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_ltEs5(x0, x1, ty_@0)
new_primMulNat0(Succ(x0), Zero)
new_primPlusNat0(Zero, x0)
new_lt20(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_esEs6(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_lt10(x0, x1)
new_esEs6(Nothing, Nothing, x0)
new_compare115(x0, x1, False, x2, x3, x4)
new_ltEs20(x0, x1, ty_Float)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

new_elemFM00(Branch(Just(vyw400), vyw41, vyw42, vyw43, vyw44), Just(vyw30), h, ba) → new_elemFM03(vyw400, vyw41, vyw42, vyw43, vyw44, vyw30, new_esEs14(new_compare25(Just(vyw30), Just(vyw400), new_esEs29(vyw30, vyw400, ba), ba), LT), h, ba)
new_elemFM02(vyw41, vyw42, vyw43, vyw44, vyw30, True, h, ba) → new_elemFM00(vyw43, Just(vyw30), h, ba)
new_elemFM00(Branch(Just(vyw400), vyw41, vyw42, vyw43, vyw44), Nothing, h, ba) → new_elemFM01(vyw400, vyw41, vyw42, vyw43, vyw44, new_esEs14(new_compare25(Nothing, Just(vyw400), False, ba), LT), h, ba)
new_elemFM02(vyw41, vyw42, vyw43, vyw44, vyw30, False, h, ba) → new_elemFM05(vyw41, vyw42, vyw43, vyw44, vyw30, new_esEs14(new_compare25(Just(vyw30), Nothing, False, ba), GT), h, ba)
new_elemFM00(Branch(Nothing, vyw41, vyw42, vyw43, vyw44), Nothing, h, ba) → new_elemFM0(vyw41, vyw42, vyw43, vyw44, new_esEs14(new_compare25(Nothing, Nothing, True, ba), GT), h, ba)
new_elemFM0(vyw41, vyw42, vyw43, vyw44, True, h, ba) → new_elemFM00(vyw44, Nothing, h, ba)
new_elemFM01(vyw400, vyw41, vyw42, vyw43, vyw44, True, h, ba) → new_elemFM00(vyw43, Nothing, h, ba)
new_elemFM06(vyw13, vyw14, vyw15, vyw16, vyw17, vyw18, True, bb, bc) → new_elemFM00(vyw17, Just(vyw18), bb, bc)
new_elemFM01(vyw400, vyw41, vyw42, vyw43, vyw44, False, h, ba) → new_elemFM04(vyw400, vyw41, vyw42, vyw43, vyw44, new_esEs14(new_compare25(Nothing, Just(vyw400), False, ba), GT), h, ba)
new_elemFM05(vyw41, vyw42, vyw43, vyw44, vyw30, True, h, ba) → new_elemFM00(vyw44, Just(vyw30), h, ba)
new_elemFM00(Branch(Nothing, vyw41, vyw42, vyw43, vyw44), Just(vyw30), h, ba) → new_elemFM02(vyw41, vyw42, vyw43, vyw44, vyw30, new_esEs14(new_compare25(Just(vyw30), Nothing, False, ba), LT), h, ba)
new_elemFM04(vyw400, vyw41, vyw42, vyw43, vyw44, True, h, ba) → new_elemFM00(vyw44, Nothing, h, ba)
new_elemFM03(vyw13, vyw14, vyw15, vyw16, vyw17, vyw18, True, bb, bc) → new_elemFM00(vyw16, Just(vyw18), bb, bc)
new_elemFM03(vyw13, vyw14, vyw15, vyw16, vyw17, vyw18, False, bb, bc) → new_elemFM06(vyw13, vyw14, vyw15, vyw16, vyw17, vyw18, new_esEs14(new_compare25(Just(vyw18), Just(vyw13), new_esEs30(vyw18, vyw13, bc), bc), GT), bb, bc)

The TRS R consists of the following rules:

new_esEs30(vyw18, vyw13, app(ty_Maybe, ccg)) → new_esEs6(vyw18, vyw13, ccg)
new_esEs26(vyw301, vyw4001, ty_@0) → new_esEs15(vyw301, vyw4001)
new_compare112(vyw84, vyw85, True, bef) → LT
new_esEs24(vyw28001, vyw29001, app(app(ty_Either, cad), cae)) → new_esEs5(vyw28001, vyw29001, cad, cae)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Char) → new_esEs17(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Int) → new_ltEs6(vyw28000, vyw29000)
new_ltEs19(vyw2800, vyw2900, app(ty_Ratio, beh)) → new_ltEs11(vyw2800, vyw2900, beh)
new_compare6(vyw28000, vyw29000, app(app(app(ty_@3, bbe), bbf), bbg)) → new_compare15(vyw28000, vyw29000, bbe, bbf, bbg)
new_ltEs8(False, True) → True
new_esEs5(Left(vyw300), Left(vyw4000), ty_Ordering, cge) → new_esEs14(vyw300, vyw4000)
new_esEs17(Char(vyw300), Char(vyw4000)) → new_primEqNat0(vyw300, vyw4000)
new_compare6(vyw28000, vyw29000, app(ty_[], bbb)) → new_compare0(vyw28000, vyw29000, bbb)
new_ltEs19(vyw2800, vyw2900, app(ty_[], bae)) → new_ltEs9(vyw2800, vyw2900, bae)
new_esEs24(vyw28001, vyw29001, ty_Char) → new_esEs17(vyw28001, vyw29001)
new_compare110(vyw28000, vyw29000, True, bf, bg) → LT
new_lt6(vyw28000, vyw29000) → new_esEs14(new_compare8(vyw28000, vyw29000), LT)
new_lt19(vyw28001, vyw29001, ty_Integer) → new_lt18(vyw28001, vyw29001)
new_esEs23(vyw28000, vyw29000, app(app(ty_Either, bhb), bhc)) → new_esEs5(vyw28000, vyw29000, bhb, bhc)
new_esEs5(Left(vyw300), Left(vyw4000), ty_Double, cge) → new_esEs12(vyw300, vyw4000)
new_esEs23(vyw28000, vyw29000, app(app(ty_@2, bgh), bha)) → new_esEs4(vyw28000, vyw29000, bgh, bha)
new_esEs23(vyw28000, vyw29000, ty_Integer) → new_esEs18(vyw28000, vyw29000)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, app(ty_[], bdh)) → new_ltEs9(vyw28000, vyw29000, bdh)
new_esEs29(vyw30, vyw400, ty_Int) → new_esEs9(vyw30, vyw400)
new_esEs20(vyw301, vyw4001, ty_Int) → new_esEs9(vyw301, vyw4001)
new_lt4(vyw28000, vyw29000, ty_Double) → new_lt10(vyw28000, vyw29000)
new_esEs20(vyw301, vyw4001, ty_Double) → new_esEs12(vyw301, vyw4001)
new_compare27(vyw28000, vyw29000, False, bh, ca) → new_compare114(vyw28000, vyw29000, new_ltEs7(vyw28000, vyw29000, bh, ca), bh, ca)
new_esEs25(vyw300, vyw4000, ty_Char) → new_esEs17(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), app(ty_[], ced)) → new_ltEs9(vyw28000, vyw29000, ced)
new_esEs23(vyw28000, vyw29000, ty_Float) → new_esEs16(vyw28000, vyw29000)
new_ltEs12(Nothing, Nothing, bfa) → True
new_esEs16(Float(vyw300, vyw301), Float(vyw4000, vyw4001)) → new_esEs9(new_sr(vyw300, vyw4000), new_sr(vyw301, vyw4001))
new_ltEs7(Left(vyw28000), Right(vyw29000), bdc, bcb) → True
new_primMulNat0(Zero, Zero) → Zero
new_esEs25(vyw300, vyw4000, ty_Double) → new_esEs12(vyw300, vyw4000)
new_esEs6(Just(vyw300), Just(vyw4000), app(ty_Ratio, cfc)) → new_esEs13(vyw300, vyw4000, cfc)
new_ltEs20(vyw28002, vyw29002, ty_@0) → new_ltEs15(vyw28002, vyw29002)
new_esEs29(vyw30, vyw400, ty_Float) → new_esEs16(vyw30, vyw400)
new_esEs5(Right(vyw300), Right(vyw4000), chh, ty_Float) → new_esEs16(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Float) → new_ltEs16(vyw28000, vyw29000)
new_esEs23(vyw28000, vyw29000, app(ty_Ratio, bhe)) → new_esEs13(vyw28000, vyw29000, bhe)
new_esEs25(vyw300, vyw4000, app(app(ty_@2, dbh), dca)) → new_esEs4(vyw300, vyw4000, dbh, dca)
new_lt20(vyw28000, vyw29000, ty_Integer) → new_lt18(vyw28000, vyw29000)
new_compare25(vyw280, vyw290, True, beg) → EQ
new_compare10(vyw28000, vyw29000) → new_compare23(vyw28000, vyw29000, new_esEs10(vyw28000, vyw29000))
new_lt20(vyw28000, vyw29000, app(app(ty_@2, bgh), bha)) → new_lt5(vyw28000, vyw29000, bgh, bha)
new_esEs22(vyw300, vyw4000, ty_Char) → new_esEs17(vyw300, vyw4000)
new_esEs8(vyw28000, vyw29000, ty_Double) → new_esEs12(vyw28000, vyw29000)
new_compare14(vyw28000, vyw29000) → new_compare28(vyw28000, vyw29000, new_esEs14(vyw28000, vyw29000))
new_compare16(@0, @0) → EQ
new_lt18(vyw28000, vyw29000) → new_esEs14(new_compare19(vyw28000, vyw29000), LT)
new_esEs19(vyw300, vyw4000, app(app(app(ty_@3, ff), fg), fh)) → new_esEs7(vyw300, vyw4000, ff, fg, fh)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, app(app(ty_@2, bdd), bde)) → new_ltEs4(vyw28000, vyw29000, bdd, bde)
new_esEs30(vyw18, vyw13, ty_Int) → new_esEs9(vyw18, vyw13)
new_esEs22(vyw300, vyw4000, ty_Bool) → new_esEs10(vyw300, vyw4000)
new_esEs19(vyw300, vyw4000, ty_Int) → new_esEs9(vyw300, vyw4000)
new_ltEs6(vyw2800, vyw2900) → new_not(new_esEs14(new_compare8(vyw2800, vyw2900), GT))
new_esEs20(vyw301, vyw4001, app(ty_Ratio, ga)) → new_esEs13(vyw301, vyw4001, ga)
new_ltEs13(LT, EQ) → True
new_ltEs20(vyw28002, vyw29002, app(ty_[], cbh)) → new_ltEs9(vyw28002, vyw29002, cbh)
new_esEs11([], [], bfe) → True
new_compare0(:(vyw28000, vyw28001), :(vyw29000, vyw29001), bae) → new_primCompAux0(vyw28000, vyw29000, new_compare0(vyw28001, vyw29001, bae), bae)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Double) → new_esEs12(vyw300, vyw4000)
new_compare6(vyw28000, vyw29000, ty_Float) → new_compare17(vyw28000, vyw29000)
new_esEs22(vyw300, vyw4000, app(ty_Maybe, bfg)) → new_esEs6(vyw300, vyw4000, bfg)
new_esEs21(vyw302, vyw4002, app(app(app(ty_@3, bab), bac), bad)) → new_esEs7(vyw302, vyw4002, bab, bac, bad)
new_compare12(:%(vyw28000, vyw28001), :%(vyw29000, vyw29001), ty_Integer) → new_compare19(new_sr0(vyw28000, vyw29001), new_sr0(vyw29000, vyw28001))
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_@0) → new_ltEs15(vyw28000, vyw29000)
new_esEs29(vyw30, vyw400, app(app(app(ty_@3, ec), ed), ee)) → new_esEs7(vyw30, vyw400, ec, ed, ee)
new_ltEs19(vyw2800, vyw2900, app(ty_Maybe, bfa)) → new_ltEs12(vyw2800, vyw2900, bfa)
new_lt15(vyw28000, vyw29000) → new_esEs14(new_compare16(vyw28000, vyw29000), LT)
new_compare6(vyw28000, vyw29000, ty_@0) → new_compare16(vyw28000, vyw29000)
new_esEs8(vyw28000, vyw29000, app(app(ty_@2, bf), bg)) → new_esEs4(vyw28000, vyw29000, bf, bg)
new_lt9(vyw28000, vyw29000, cb) → new_esEs14(new_compare0(vyw28000, vyw29000, cb), LT)
new_compare6(vyw28000, vyw29000, ty_Integer) → new_compare19(vyw28000, vyw29000)
new_ltEs5(vyw28001, vyw29001, ty_Ordering) → new_ltEs13(vyw28001, vyw29001)
new_esEs19(vyw300, vyw4000, app(app(ty_Either, fc), fd)) → new_esEs5(vyw300, vyw4000, fc, fd)
new_ltEs19(vyw2800, vyw2900, ty_Float) → new_ltEs16(vyw2800, vyw2900)
new_esEs5(Left(vyw300), Left(vyw4000), app(ty_Maybe, cgg), cge) → new_esEs6(vyw300, vyw4000, cgg)
new_pePe(False, vyw98) → vyw98
new_esEs26(vyw301, vyw4001, ty_Bool) → new_esEs10(vyw301, vyw4001)
new_esEs19(vyw300, vyw4000, ty_@0) → new_esEs15(vyw300, vyw4000)
new_lt19(vyw28001, vyw29001, ty_Double) → new_lt10(vyw28001, vyw29001)
new_ltEs19(vyw2800, vyw2900, app(app(ty_@2, bd), be)) → new_ltEs4(vyw2800, vyw2900, bd, be)
new_esEs8(vyw28000, vyw29000, ty_Float) → new_esEs16(vyw28000, vyw29000)
new_compare23(vyw28000, vyw29000, True) → EQ
new_esEs28(vyw301, vyw4001, ty_Integer) → new_esEs18(vyw301, vyw4001)
new_lt19(vyw28001, vyw29001, app(ty_[], caf)) → new_lt9(vyw28001, vyw29001, caf)
new_esEs19(vyw300, vyw4000, app(ty_Maybe, eg)) → new_esEs6(vyw300, vyw4000, eg)
new_esEs22(vyw300, vyw4000, ty_@0) → new_esEs15(vyw300, vyw4000)
new_ltEs5(vyw28001, vyw29001, app(app(ty_@2, da), db)) → new_ltEs4(vyw28001, vyw29001, da, db)
new_esEs22(vyw300, vyw4000, app(app(ty_@2, bfh), bga)) → new_esEs4(vyw300, vyw4000, bfh, bga)
new_ltEs14(@3(vyw28000, vyw28001, vyw28002), @3(vyw29000, vyw29001, vyw29002), bfb, bfc, bfd) → new_pePe(new_lt20(vyw28000, vyw29000, bfb), new_asAs(new_esEs23(vyw28000, vyw29000, bfb), new_pePe(new_lt19(vyw28001, vyw29001, bfc), new_asAs(new_esEs24(vyw28001, vyw29001, bfc), new_ltEs20(vyw28002, vyw29002, bfd)))))
new_esEs14(EQ, EQ) → True
new_lt11(vyw28000, vyw29000, cc) → new_esEs14(new_compare12(vyw28000, vyw29000, cc), LT)
new_esEs19(vyw300, vyw4000, ty_Float) → new_esEs16(vyw300, vyw4000)
new_ltEs13(EQ, GT) → True
new_ltEs5(vyw28001, vyw29001, app(app(app(ty_@3, dh), ea), eb)) → new_ltEs14(vyw28001, vyw29001, dh, ea, eb)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Ordering) → new_esEs14(vyw300, vyw4000)
new_esEs29(vyw30, vyw400, app(ty_Ratio, dbc)) → new_esEs13(vyw30, vyw400, dbc)
new_esEs5(Right(vyw300), Right(vyw4000), chh, ty_@0) → new_esEs15(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), app(ty_Ratio, cee)) → new_ltEs11(vyw28000, vyw29000, cee)
new_compare111(vyw28000, vyw29000, False) → GT
new_compare111(vyw28000, vyw29000, True) → LT
new_esEs24(vyw28001, vyw29001, app(ty_[], caf)) → new_esEs11(vyw28001, vyw29001, caf)
new_ltEs5(vyw28001, vyw29001, app(ty_[], de)) → new_ltEs9(vyw28001, vyw29001, de)
new_esEs29(vyw30, vyw400, app(app(ty_@2, dbd), dbe)) → new_esEs4(vyw30, vyw400, dbd, dbe)
new_esEs29(vyw30, vyw400, app(ty_[], bfe)) → new_esEs11(vyw30, vyw400, bfe)
new_lt20(vyw28000, vyw29000, app(app(ty_Either, bhb), bhc)) → new_lt7(vyw28000, vyw29000, bhb, bhc)
new_esEs5(Right(vyw300), Right(vyw4000), chh, app(app(ty_@2, dac), dad)) → new_esEs4(vyw300, vyw4000, dac, dad)
new_esEs5(Right(vyw300), Right(vyw4000), chh, ty_Char) → new_esEs17(vyw300, vyw4000)
new_ltEs20(vyw28002, vyw29002, app(app(ty_@2, cbd), cbe)) → new_ltEs4(vyw28002, vyw29002, cbd, cbe)
new_esEs23(vyw28000, vyw29000, app(app(app(ty_@3, bhg), bhh), caa)) → new_esEs7(vyw28000, vyw29000, bhg, bhh, caa)
new_primCmpNat0(Zero, Succ(vyw290000)) → LT
new_esEs26(vyw301, vyw4001, ty_Double) → new_esEs12(vyw301, vyw4001)
new_esEs20(vyw301, vyw4001, ty_Ordering) → new_esEs14(vyw301, vyw4001)
new_ltEs20(vyw28002, vyw29002, ty_Bool) → new_ltEs8(vyw28002, vyw29002)
new_lt19(vyw28001, vyw29001, app(app(ty_@2, cab), cac)) → new_lt5(vyw28001, vyw29001, cab, cac)
new_lt20(vyw28000, vyw29000, app(app(app(ty_@3, bhg), bhh), caa)) → new_lt14(vyw28000, vyw29000, bhg, bhh, caa)
new_ltEs7(Left(vyw28000), Left(vyw29000), app(ty_Ratio, bcf), bcb) → new_ltEs11(vyw28000, vyw29000, bcf)
new_esEs25(vyw300, vyw4000, app(app(ty_Either, dcc), dcd)) → new_esEs5(vyw300, vyw4000, dcc, dcd)
new_compare24(vyw28000, vyw29000, False, bf, bg) → new_compare110(vyw28000, vyw29000, new_ltEs4(vyw28000, vyw29000, bf, bg), bf, bg)
new_lt20(vyw28000, vyw29000, ty_@0) → new_lt15(vyw28000, vyw29000)
new_esEs21(vyw302, vyw4002, app(ty_Ratio, hc)) → new_esEs13(vyw302, vyw4002, hc)
new_lt19(vyw28001, vyw29001, ty_@0) → new_lt15(vyw28001, vyw29001)
new_esEs7(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), ec, ed, ee) → new_asAs(new_esEs19(vyw300, vyw4000, ec), new_asAs(new_esEs20(vyw301, vyw4001, ed), new_esEs21(vyw302, vyw4002, ee)))
new_esEs25(vyw300, vyw4000, app(ty_Ratio, dbf)) → new_esEs13(vyw300, vyw4000, dbf)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Double) → new_ltEs10(vyw28000, vyw29000)
new_compare0([], [], bae) → EQ
new_pePe(True, vyw98) → True
new_primEqNat0(Zero, Zero) → True
new_esEs6(Just(vyw300), Just(vyw4000), app(app(app(ty_@3, cgb), cgc), cgd)) → new_esEs7(vyw300, vyw4000, cgb, cgc, cgd)
new_esEs23(vyw28000, vyw29000, ty_Ordering) → new_esEs14(vyw28000, vyw29000)
new_ltEs19(vyw2800, vyw2900, ty_Integer) → new_ltEs18(vyw2800, vyw2900)
new_ltEs5(vyw28001, vyw29001, ty_Bool) → new_ltEs8(vyw28001, vyw29001)
new_esEs29(vyw30, vyw400, app(ty_Maybe, cfb)) → new_esEs6(vyw30, vyw400, cfb)
new_esEs19(vyw300, vyw4000, app(ty_Ratio, ef)) → new_esEs13(vyw300, vyw4000, ef)
new_esEs26(vyw301, vyw4001, ty_Char) → new_esEs17(vyw301, vyw4001)
new_esEs19(vyw300, vyw4000, ty_Bool) → new_esEs10(vyw300, vyw4000)
new_esEs26(vyw301, vyw4001, app(ty_Maybe, dda)) → new_esEs6(vyw301, vyw4001, dda)
new_esEs8(vyw28000, vyw29000, ty_Int) → new_esEs9(vyw28000, vyw29000)
new_esEs5(Left(vyw300), Left(vyw4000), ty_Int, cge) → new_esEs9(vyw300, vyw4000)
new_lt4(vyw28000, vyw29000, ty_Char) → new_lt17(vyw28000, vyw29000)
new_esEs26(vyw301, vyw4001, app(ty_Ratio, dch)) → new_esEs13(vyw301, vyw4001, dch)
new_lt20(vyw28000, vyw29000, app(ty_[], bhd)) → new_lt9(vyw28000, vyw29000, bhd)
new_esEs25(vyw300, vyw4000, ty_Integer) → new_esEs18(vyw300, vyw4000)
new_compare110(vyw28000, vyw29000, False, bf, bg) → GT
new_ltEs15(vyw2800, vyw2900) → new_not(new_esEs14(new_compare16(vyw2800, vyw2900), GT))
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, ty_Double) → new_ltEs10(vyw28000, vyw29000)
new_ltEs20(vyw28002, vyw29002, app(app(app(ty_@3, ccc), ccd), cce)) → new_ltEs14(vyw28002, vyw29002, ccc, ccd, cce)
new_sr(vyw301, vyw4001) → new_primMulInt(vyw301, vyw4001)
new_esEs30(vyw18, vyw13, app(ty_[], cdb)) → new_esEs11(vyw18, vyw13, cdb)
new_esEs11(:(vyw300, vyw301), :(vyw4000, vyw4001), bfe) → new_asAs(new_esEs22(vyw300, vyw4000, bfe), new_esEs11(vyw301, vyw4001, bfe))
new_esEs14(LT, GT) → False
new_esEs14(GT, LT) → False
new_ltEs20(vyw28002, vyw29002, app(ty_Ratio, cca)) → new_ltEs11(vyw28002, vyw29002, cca)
new_primPlusNat0(Succ(vyw1000), vyw400100) → Succ(Succ(new_primPlusNat1(vyw1000, vyw400100)))
new_lt19(vyw28001, vyw29001, app(ty_Ratio, cag)) → new_lt11(vyw28001, vyw29001, cag)
new_esEs25(vyw300, vyw4000, ty_Float) → new_esEs16(vyw300, vyw4000)
new_esEs20(vyw301, vyw4001, app(app(app(ty_@3, gh), ha), hb)) → new_esEs7(vyw301, vyw4001, gh, ha, hb)
new_ltEs18(vyw2800, vyw2900) → new_not(new_esEs14(new_compare19(vyw2800, vyw2900), GT))
new_ltEs19(vyw2800, vyw2900, ty_Double) → new_ltEs10(vyw2800, vyw2900)
new_esEs5(Right(vyw300), Right(vyw4000), chh, app(ty_[], dae)) → new_esEs11(vyw300, vyw4000, dae)
new_lt20(vyw28000, vyw29000, ty_Char) → new_lt17(vyw28000, vyw29000)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_@0, bcb) → new_ltEs15(vyw28000, vyw29000)
new_esEs5(Left(vyw300), Left(vyw4000), app(ty_Ratio, cgf), cge) → new_esEs13(vyw300, vyw4000, cgf)
new_ltEs20(vyw28002, vyw29002, ty_Float) → new_ltEs16(vyw28002, vyw29002)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, ty_@0) → new_ltEs15(vyw28000, vyw29000)
new_lt4(vyw28000, vyw29000, app(app(ty_Either, bh), ca)) → new_lt7(vyw28000, vyw29000, bh, ca)
new_lt14(vyw28000, vyw29000, ce, cf, cg) → new_esEs14(new_compare15(vyw28000, vyw29000, ce, cf, cg), LT)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Int, bcb) → new_ltEs6(vyw28000, vyw29000)
new_lt19(vyw28001, vyw29001, ty_Bool) → new_lt8(vyw28001, vyw29001)
new_primEqInt(Neg(Succ(vyw3000)), Neg(Succ(vyw40000))) → new_primEqNat0(vyw3000, vyw40000)
new_lt20(vyw28000, vyw29000, app(ty_Ratio, bhe)) → new_lt11(vyw28000, vyw29000, bhe)
new_compare6(vyw28000, vyw29000, ty_Bool) → new_compare10(vyw28000, vyw29000)
new_compare28(vyw28000, vyw29000, False) → new_compare113(vyw28000, vyw29000, new_ltEs13(vyw28000, vyw29000))
new_ltEs5(vyw28001, vyw29001, ty_Char) → new_ltEs17(vyw28001, vyw29001)
new_primCompAux0(vyw28000, vyw29000, vyw99, bae) → new_primCompAux00(vyw99, new_compare6(vyw28000, vyw29000, bae))
new_compare6(vyw28000, vyw29000, ty_Int) → new_compare8(vyw28000, vyw29000)
new_esEs12(Double(vyw300, vyw301), Double(vyw4000, vyw4001)) → new_esEs9(new_sr(vyw300, vyw4000), new_sr(vyw301, vyw4001))
new_esEs19(vyw300, vyw4000, ty_Ordering) → new_esEs14(vyw300, vyw4000)
new_primPlusNat1(Succ(vyw10000), Zero) → Succ(vyw10000)
new_primPlusNat1(Zero, Succ(vyw4001000)) → Succ(vyw4001000)
new_lt4(vyw28000, vyw29000, ty_Integer) → new_lt18(vyw28000, vyw29000)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Bool) → new_ltEs8(vyw28000, vyw29000)
new_compare25(Just(vyw2800), Nothing, False, beg) → GT
new_compare6(vyw28000, vyw29000, app(ty_Ratio, bbc)) → new_compare12(vyw28000, vyw29000, bbc)
new_esEs8(vyw28000, vyw29000, ty_@0) → new_esEs15(vyw28000, vyw29000)
new_esEs29(vyw30, vyw400, app(app(ty_Either, chh), cge)) → new_esEs5(vyw30, vyw400, chh, cge)
new_compare25(Nothing, Nothing, False, beg) → LT
new_ltEs8(True, True) → True
new_esEs26(vyw301, vyw4001, app(app(app(ty_@3, ddg), ddh), dea)) → new_esEs7(vyw301, vyw4001, ddg, ddh, dea)
new_esEs21(vyw302, vyw4002, ty_Ordering) → new_esEs14(vyw302, vyw4002)
new_esEs21(vyw302, vyw4002, ty_@0) → new_esEs15(vyw302, vyw4002)
new_ltEs13(LT, GT) → True
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, ty_Bool) → new_ltEs8(vyw28000, vyw29000)
new_esEs5(Left(vyw300), Left(vyw4000), app(app(app(ty_@3, che), chf), chg), cge) → new_esEs7(vyw300, vyw4000, che, chf, chg)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs24(vyw28001, vyw29001, ty_Bool) → new_esEs10(vyw28001, vyw29001)
new_ltEs7(Right(vyw28000), Left(vyw29000), bdc, bcb) → False
new_compare6(vyw28000, vyw29000, ty_Ordering) → new_compare14(vyw28000, vyw29000)
new_esEs30(vyw18, vyw13, app(app(app(ty_@3, cde), cdf), cdg)) → new_esEs7(vyw18, vyw13, cde, cdf, cdg)
new_esEs8(vyw28000, vyw29000, app(ty_Ratio, cc)) → new_esEs13(vyw28000, vyw29000, cc)
new_compare8(vyw2800, vyw2900) → new_primCmpInt(vyw2800, vyw2900)
new_primEqInt(Neg(Succ(vyw3000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(vyw40000))) → False
new_lt12(vyw28000, vyw29000, cd) → new_esEs14(new_compare13(vyw28000, vyw29000, cd), LT)
new_lt20(vyw28000, vyw29000, ty_Ordering) → new_lt13(vyw28000, vyw29000)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, app(ty_Ratio, bea)) → new_ltEs11(vyw28000, vyw29000, bea)
new_compare24(vyw28000, vyw29000, True, bf, bg) → EQ
new_lt4(vyw28000, vyw29000, ty_Bool) → new_lt8(vyw28000, vyw29000)
new_esEs10(False, False) → True
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, ty_Char) → new_ltEs17(vyw28000, vyw29000)
new_ltEs19(vyw2800, vyw2900, ty_Char) → new_ltEs17(vyw2800, vyw2900)
new_esEs5(Right(vyw300), Right(vyw4000), chh, ty_Int) → new_esEs9(vyw300, vyw4000)
new_esEs21(vyw302, vyw4002, ty_Integer) → new_esEs18(vyw302, vyw4002)
new_lt4(vyw28000, vyw29000, app(ty_Ratio, cc)) → new_lt11(vyw28000, vyw29000, cc)
new_ltEs7(Left(vyw28000), Left(vyw29000), app(app(ty_@2, bbh), bca), bcb) → new_ltEs4(vyw28000, vyw29000, bbh, bca)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_esEs5(Right(vyw300), Right(vyw4000), chh, ty_Bool) → new_esEs10(vyw300, vyw4000)
new_esEs5(Left(vyw300), Left(vyw4000), app(ty_[], chb), cge) → new_esEs11(vyw300, vyw4000, chb)
new_lt19(vyw28001, vyw29001, ty_Int) → new_lt6(vyw28001, vyw29001)
new_primCmpNat0(Succ(vyw280000), Succ(vyw290000)) → new_primCmpNat0(vyw280000, vyw290000)
new_esEs5(Right(vyw300), Right(vyw4000), chh, ty_Integer) → new_esEs18(vyw300, vyw4000)
new_esEs30(vyw18, vyw13, ty_@0) → new_esEs15(vyw18, vyw13)
new_esEs6(Nothing, Nothing, cfb) → True
new_esEs29(vyw30, vyw400, ty_Ordering) → new_esEs14(vyw30, vyw400)
new_ltEs13(GT, LT) → False
new_primEqInt(Pos(Succ(vyw3000)), Pos(Succ(vyw40000))) → new_primEqNat0(vyw3000, vyw40000)
new_compare27(vyw28000, vyw29000, True, bh, ca) → EQ
new_esEs21(vyw302, vyw4002, app(ty_Maybe, hd)) → new_esEs6(vyw302, vyw4002, hd)
new_ltEs13(EQ, EQ) → True
new_esEs23(vyw28000, vyw29000, ty_Char) → new_esEs17(vyw28000, vyw29000)
new_lt4(vyw28000, vyw29000, app(ty_Maybe, cd)) → new_lt12(vyw28000, vyw29000, cd)
new_ltEs17(vyw2800, vyw2900) → new_not(new_esEs14(new_compare18(vyw2800, vyw2900), GT))
new_esEs25(vyw300, vyw4000, ty_Int) → new_esEs9(vyw300, vyw4000)
new_esEs5(Right(vyw300), Right(vyw4000), chh, app(app(ty_Either, daf), dag)) → new_esEs5(vyw300, vyw4000, daf, dag)
new_esEs8(vyw28000, vyw29000, ty_Integer) → new_esEs18(vyw28000, vyw29000)
new_esEs6(Just(vyw300), Nothing, cfb) → False
new_esEs6(Nothing, Just(vyw4000), cfb) → False
new_primEqNat0(Succ(vyw3000), Succ(vyw40000)) → new_primEqNat0(vyw3000, vyw40000)
new_lt5(vyw28000, vyw29000, bf, bg) → new_esEs14(new_compare7(vyw28000, vyw29000, bf, bg), LT)
new_esEs30(vyw18, vyw13, ty_Integer) → new_esEs18(vyw18, vyw13)
new_primCompAux00(vyw109, LT) → LT
new_esEs26(vyw301, vyw4001, app(ty_[], ddd)) → new_esEs11(vyw301, vyw4001, ddd)
new_primCmpInt(Neg(Succ(vyw280000)), Neg(vyw29000)) → new_primCmpNat0(vyw29000, Succ(vyw280000))
new_ltEs19(vyw2800, vyw2900, app(app(ty_Either, bdc), bcb)) → new_ltEs7(vyw2800, vyw2900, bdc, bcb)
new_compare114(vyw28000, vyw29000, True, bh, ca) → LT
new_esEs26(vyw301, vyw4001, app(app(ty_@2, ddb), ddc)) → new_esEs4(vyw301, vyw4001, ddb, ddc)
new_compare115(vyw28000, vyw29000, True, ce, cf, cg) → LT
new_ltEs7(Left(vyw28000), Left(vyw29000), app(ty_[], bce), bcb) → new_ltEs9(vyw28000, vyw29000, bce)
new_lt19(vyw28001, vyw29001, app(app(ty_Either, cad), cae)) → new_lt7(vyw28001, vyw29001, cad, cae)
new_ltEs19(vyw2800, vyw2900, ty_Bool) → new_ltEs8(vyw2800, vyw2900)
new_primEqInt(Pos(Zero), Pos(Succ(vyw40000))) → False
new_primEqInt(Pos(Succ(vyw3000)), Pos(Zero)) → False
new_ltEs20(vyw28002, vyw29002, app(ty_Maybe, ccb)) → new_ltEs12(vyw28002, vyw29002, ccb)
new_lt4(vyw28000, vyw29000, app(ty_[], cb)) → new_lt9(vyw28000, vyw29000, cb)
new_esEs30(vyw18, vyw13, ty_Float) → new_esEs16(vyw18, vyw13)
new_lt13(vyw28000, vyw29000) → new_esEs14(new_compare14(vyw28000, vyw29000), LT)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(vyw280000), Zero) → GT
new_ltEs12(Just(vyw28000), Just(vyw29000), app(app(ty_@2, cdh), cea)) → new_ltEs4(vyw28000, vyw29000, cdh, cea)
new_compare9(vyw28000, vyw29000, bh, ca) → new_compare27(vyw28000, vyw29000, new_esEs5(vyw28000, vyw29000, bh, ca), bh, ca)
new_esEs24(vyw28001, vyw29001, ty_@0) → new_esEs15(vyw28001, vyw29001)
new_primCmpInt(Neg(Zero), Pos(Succ(vyw290000))) → LT
new_esEs20(vyw301, vyw4001, app(app(ty_Either, gf), gg)) → new_esEs5(vyw301, vyw4001, gf, gg)
new_esEs22(vyw300, vyw4000, app(ty_Ratio, bff)) → new_esEs13(vyw300, vyw4000, bff)
new_sr0(Integer(vyw280000), Integer(vyw290010)) → Integer(new_primMulInt(vyw280000, vyw290010))
new_lt4(vyw28000, vyw29000, app(app(ty_@2, bf), bg)) → new_lt5(vyw28000, vyw29000, bf, bg)
new_primPlusNat1(Succ(vyw10000), Succ(vyw4001000)) → Succ(Succ(new_primPlusNat1(vyw10000, vyw4001000)))
new_ltEs11(vyw2800, vyw2900, beh) → new_not(new_esEs14(new_compare12(vyw2800, vyw2900, beh), GT))
new_primEqInt(Neg(Succ(vyw3000)), Pos(vyw4000)) → False
new_primEqInt(Pos(Succ(vyw3000)), Neg(vyw4000)) → False
new_esEs24(vyw28001, vyw29001, app(ty_Ratio, cag)) → new_esEs13(vyw28001, vyw29001, cag)
new_ltEs12(Just(vyw28000), Just(vyw29000), app(ty_Maybe, cef)) → new_ltEs12(vyw28000, vyw29000, cef)
new_esEs24(vyw28001, vyw29001, app(app(ty_@2, cab), cac)) → new_esEs4(vyw28001, vyw29001, cab, cac)
new_esEs5(Right(vyw300), Right(vyw4000), chh, ty_Ordering) → new_esEs14(vyw300, vyw4000)
new_compare6(vyw28000, vyw29000, app(app(ty_Either, bah), bba)) → new_compare9(vyw28000, vyw29000, bah, bba)
new_esEs8(vyw28000, vyw29000, app(app(ty_Either, bh), ca)) → new_esEs5(vyw28000, vyw29000, bh, ca)
new_ltEs19(vyw2800, vyw2900, ty_@0) → new_ltEs15(vyw2800, vyw2900)
new_ltEs20(vyw28002, vyw29002, ty_Double) → new_ltEs10(vyw28002, vyw29002)
new_esEs11([], :(vyw4000, vyw4001), bfe) → False
new_esEs11(:(vyw300, vyw301), [], bfe) → False
new_ltEs20(vyw28002, vyw29002, ty_Integer) → new_ltEs18(vyw28002, vyw29002)
new_esEs26(vyw301, vyw4001, ty_Int) → new_esEs9(vyw301, vyw4001)
new_esEs8(vyw28000, vyw29000, ty_Char) → new_esEs17(vyw28000, vyw29000)
new_primEqInt(Pos(Zero), Neg(Succ(vyw40000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(vyw40000))) → False
new_esEs4(@2(vyw300, vyw301), @2(vyw4000, vyw4001), dbd, dbe) → new_asAs(new_esEs25(vyw300, vyw4000, dbd), new_esEs26(vyw301, vyw4001, dbe))
new_esEs5(Left(vyw300), Left(vyw4000), app(app(ty_@2, cgh), cha), cge) → new_esEs4(vyw300, vyw4000, cgh, cha)
new_esEs22(vyw300, vyw4000, app(ty_[], bgb)) → new_esEs11(vyw300, vyw4000, bgb)
new_compare23(vyw28000, vyw29000, False) → new_compare111(vyw28000, vyw29000, new_ltEs8(vyw28000, vyw29000))
new_primCmpInt(Pos(Zero), Pos(Succ(vyw290000))) → new_primCmpNat0(Zero, Succ(vyw290000))
new_primCompAux00(vyw109, EQ) → vyw109
new_esEs20(vyw301, vyw4001, ty_Bool) → new_esEs10(vyw301, vyw4001)
new_compare7(vyw28000, vyw29000, bf, bg) → new_compare24(vyw28000, vyw29000, new_esEs4(vyw28000, vyw29000, bf, bg), bf, bg)
new_ltEs13(GT, EQ) → False
new_esEs24(vyw28001, vyw29001, ty_Ordering) → new_esEs14(vyw28001, vyw29001)
new_compare25(Nothing, Just(vyw2900), False, beg) → LT
new_ltEs13(EQ, LT) → False
new_esEs29(vyw30, vyw400, ty_Double) → new_esEs12(vyw30, vyw400)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Int) → new_esEs9(vyw300, vyw4000)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Bool) → new_esEs10(vyw300, vyw4000)
new_esEs25(vyw300, vyw4000, ty_Bool) → new_esEs10(vyw300, vyw4000)
new_esEs26(vyw301, vyw4001, ty_Float) → new_esEs16(vyw301, vyw4001)
new_compare6(vyw28000, vyw29000, ty_Double) → new_compare11(vyw28000, vyw29000)
new_ltEs8(True, False) → False
new_esEs24(vyw28001, vyw29001, ty_Integer) → new_esEs18(vyw28001, vyw29001)
new_compare113(vyw28000, vyw29000, True) → LT
new_not(False) → True
new_esEs22(vyw300, vyw4000, ty_Ordering) → new_esEs14(vyw300, vyw4000)
new_compare6(vyw28000, vyw29000, ty_Char) → new_compare18(vyw28000, vyw29000)
new_compare114(vyw28000, vyw29000, False, bh, ca) → GT
new_lt20(vyw28000, vyw29000, ty_Bool) → new_lt8(vyw28000, vyw29000)
new_esEs30(vyw18, vyw13, ty_Double) → new_esEs12(vyw18, vyw13)
new_esEs8(vyw28000, vyw29000, app(ty_Maybe, cd)) → new_esEs6(vyw28000, vyw29000, cd)
new_primCmpInt(Pos(Succ(vyw280000)), Pos(vyw29000)) → new_primCmpNat0(Succ(vyw280000), vyw29000)
new_ltEs20(vyw28002, vyw29002, ty_Ordering) → new_ltEs13(vyw28002, vyw29002)
new_esEs23(vyw28000, vyw29000, ty_@0) → new_esEs15(vyw28000, vyw29000)
new_primPlusNat0(Zero, vyw400100) → Succ(vyw400100)
new_ltEs5(vyw28001, vyw29001, app(ty_Ratio, df)) → new_ltEs11(vyw28001, vyw29001, df)
new_esEs8(vyw28000, vyw29000, app(ty_[], cb)) → new_esEs11(vyw28000, vyw29000, cb)
new_esEs19(vyw300, vyw4000, ty_Char) → new_esEs17(vyw300, vyw4000)
new_compare113(vyw28000, vyw29000, False) → GT
new_esEs19(vyw300, vyw4000, ty_Double) → new_esEs12(vyw300, vyw4000)
new_ltEs19(vyw2800, vyw2900, ty_Int) → new_ltEs6(vyw2800, vyw2900)
new_esEs25(vyw300, vyw4000, ty_@0) → new_esEs15(vyw300, vyw4000)
new_esEs20(vyw301, vyw4001, app(ty_[], ge)) → new_esEs11(vyw301, vyw4001, ge)
new_compare0(:(vyw28000, vyw28001), [], bae) → GT
new_lt20(vyw28000, vyw29000, ty_Int) → new_lt6(vyw28000, vyw29000)
new_compare28(vyw28000, vyw29000, True) → EQ
new_esEs26(vyw301, vyw4001, app(app(ty_Either, dde), ddf)) → new_esEs5(vyw301, vyw4001, dde, ddf)
new_lt8(vyw28000, vyw29000) → new_esEs14(new_compare10(vyw28000, vyw29000), LT)
new_primCmpInt(Pos(Succ(vyw280000)), Neg(vyw29000)) → GT
new_esEs22(vyw300, vyw4000, app(app(app(ty_@3, bge), bgf), bgg)) → new_esEs7(vyw300, vyw4000, bge, bgf, bgg)
new_esEs8(vyw28000, vyw29000, app(app(app(ty_@3, ce), cf), cg)) → new_esEs7(vyw28000, vyw29000, ce, cf, cg)
new_ltEs12(Just(vyw28000), Just(vyw29000), app(app(ty_Either, ceb), cec)) → new_ltEs7(vyw28000, vyw29000, ceb, cec)
new_lt19(vyw28001, vyw29001, ty_Char) → new_lt17(vyw28001, vyw29001)
new_lt19(vyw28001, vyw29001, app(app(app(ty_@3, cba), cbb), cbc)) → new_lt14(vyw28001, vyw29001, cba, cbb, cbc)
new_compare115(vyw28000, vyw29000, False, ce, cf, cg) → GT
new_lt19(vyw28001, vyw29001, ty_Float) → new_lt16(vyw28001, vyw29001)
new_primMulInt(Pos(vyw3010), Pos(vyw40010)) → Pos(new_primMulNat0(vyw3010, vyw40010))
new_esEs21(vyw302, vyw4002, app(app(ty_@2, he), hf)) → new_esEs4(vyw302, vyw4002, he, hf)
new_lt4(vyw28000, vyw29000, ty_@0) → new_lt15(vyw28000, vyw29000)
new_compare19(Integer(vyw28000), Integer(vyw29000)) → new_primCmpInt(vyw28000, vyw29000)
new_esEs10(True, True) → True
new_esEs30(vyw18, vyw13, ty_Ordering) → new_esEs14(vyw18, vyw13)
new_esEs5(Right(vyw300), Left(vyw4000), chh, cge) → False
new_esEs5(Left(vyw300), Right(vyw4000), chh, cge) → False
new_lt4(vyw28000, vyw29000, ty_Float) → new_lt16(vyw28000, vyw29000)
new_primMulInt(Neg(vyw3010), Neg(vyw40010)) → Pos(new_primMulNat0(vyw3010, vyw40010))
new_ltEs5(vyw28001, vyw29001, app(ty_Maybe, dg)) → new_ltEs12(vyw28001, vyw29001, dg)
new_ltEs8(False, False) → True
new_primEqNat0(Succ(vyw3000), Zero) → False
new_primEqNat0(Zero, Succ(vyw40000)) → False
new_esEs21(vyw302, vyw4002, ty_Int) → new_esEs9(vyw302, vyw4002)
new_ltEs19(vyw2800, vyw2900, app(app(app(ty_@3, bfb), bfc), bfd)) → new_ltEs14(vyw2800, vyw2900, bfb, bfc, bfd)
new_ltEs7(Left(vyw28000), Left(vyw29000), app(app(ty_Either, bcc), bcd), bcb) → new_ltEs7(vyw28000, vyw29000, bcc, bcd)
new_esEs25(vyw300, vyw4000, app(ty_Maybe, dbg)) → new_esEs6(vyw300, vyw4000, dbg)
new_esEs20(vyw301, vyw4001, ty_@0) → new_esEs15(vyw301, vyw4001)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_ltEs16(vyw2800, vyw2900) → new_not(new_esEs14(new_compare17(vyw2800, vyw2900), GT))
new_esEs25(vyw300, vyw4000, app(ty_[], dcb)) → new_esEs11(vyw300, vyw4000, dcb)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, app(app(app(ty_@3, bec), bed), bee)) → new_ltEs14(vyw28000, vyw29000, bec, bed, bee)
new_esEs22(vyw300, vyw4000, ty_Int) → new_esEs9(vyw300, vyw4000)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, app(ty_Maybe, beb)) → new_ltEs12(vyw28000, vyw29000, beb)
new_esEs26(vyw301, vyw4001, ty_Ordering) → new_esEs14(vyw301, vyw4001)
new_ltEs5(vyw28001, vyw29001, ty_Int) → new_ltEs6(vyw28001, vyw29001)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Char, bcb) → new_ltEs17(vyw28000, vyw29000)
new_esEs24(vyw28001, vyw29001, ty_Int) → new_esEs9(vyw28001, vyw29001)
new_lt4(vyw28000, vyw29000, ty_Int) → new_lt6(vyw28000, vyw29000)
new_esEs14(LT, EQ) → False
new_esEs14(EQ, LT) → False
new_esEs21(vyw302, vyw4002, ty_Char) → new_esEs17(vyw302, vyw4002)
new_primCmpInt(Neg(Zero), Neg(Succ(vyw290000))) → new_primCmpNat0(Succ(vyw290000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(vyw290000))) → GT
new_lt20(vyw28000, vyw29000, ty_Float) → new_lt16(vyw28000, vyw29000)
new_esEs29(vyw30, vyw400, ty_@0) → new_esEs15(vyw30, vyw400)
new_esEs5(Right(vyw300), Right(vyw4000), chh, app(app(app(ty_@3, dah), dba), dbb)) → new_esEs7(vyw300, vyw4000, dah, dba, dbb)
new_esEs27(vyw300, vyw4000, ty_Int) → new_esEs9(vyw300, vyw4000)
new_esEs5(Left(vyw300), Left(vyw4000), ty_Integer, cge) → new_esEs18(vyw300, vyw4000)
new_esEs23(vyw28000, vyw29000, app(ty_[], bhd)) → new_esEs11(vyw28000, vyw29000, bhd)
new_compare26(vyw28000, vyw29000, False, ce, cf, cg) → new_compare115(vyw28000, vyw29000, new_ltEs14(vyw28000, vyw29000, ce, cf, cg), ce, cf, cg)
new_esEs6(Just(vyw300), Just(vyw4000), app(app(ty_Either, cfh), cga)) → new_esEs5(vyw300, vyw4000, cfh, cga)
new_lt4(vyw28000, vyw29000, ty_Ordering) → new_lt13(vyw28000, vyw29000)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Double, bcb) → new_ltEs10(vyw28000, vyw29000)
new_ltEs9(vyw2800, vyw2900, bae) → new_not(new_esEs14(new_compare0(vyw2800, vyw2900, bae), GT))
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Ordering, bcb) → new_ltEs13(vyw28000, vyw29000)
new_esEs29(vyw30, vyw400, ty_Bool) → new_esEs10(vyw30, vyw400)
new_esEs14(EQ, GT) → False
new_esEs14(GT, EQ) → False
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs24(vyw28001, vyw29001, app(app(app(ty_@3, cba), cbb), cbc)) → new_esEs7(vyw28001, vyw29001, cba, cbb, cbc)
new_compare17(Float(vyw28000, vyw28001), Float(vyw29000, vyw29001)) → new_compare8(new_sr(vyw28000, vyw29000), new_sr(vyw28001, vyw29001))
new_esEs5(Left(vyw300), Left(vyw4000), ty_Bool, cge) → new_esEs10(vyw300, vyw4000)
new_esEs20(vyw301, vyw4001, app(ty_Maybe, gb)) → new_esEs6(vyw301, vyw4001, gb)
new_compare13(vyw28000, vyw29000, cd) → new_compare25(vyw28000, vyw29000, new_esEs6(vyw28000, vyw29000, cd), cd)
new_lt19(vyw28001, vyw29001, ty_Ordering) → new_lt13(vyw28001, vyw29001)
new_ltEs13(GT, GT) → True
new_esEs24(vyw28001, vyw29001, ty_Double) → new_esEs12(vyw28001, vyw29001)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, app(app(ty_Either, bdf), bdg)) → new_ltEs7(vyw28000, vyw29000, bdf, bdg)
new_esEs15(@0, @0) → True
new_lt17(vyw28000, vyw29000) → new_esEs14(new_compare18(vyw28000, vyw29000), LT)
new_esEs13(:%(vyw300, vyw301), :%(vyw4000, vyw4001), dbc) → new_asAs(new_esEs27(vyw300, vyw4000, dbc), new_esEs28(vyw301, vyw4001, dbc))
new_asAs(False, vyw91) → False
new_esEs22(vyw300, vyw4000, ty_Double) → new_esEs12(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Integer) → new_ltEs18(vyw28000, vyw29000)
new_primMulInt(Pos(vyw3010), Neg(vyw40010)) → Neg(new_primMulNat0(vyw3010, vyw40010))
new_primMulInt(Neg(vyw3010), Pos(vyw40010)) → Neg(new_primMulNat0(vyw3010, vyw40010))
new_esEs6(Just(vyw300), Just(vyw4000), app(ty_[], cfg)) → new_esEs11(vyw300, vyw4000, cfg)
new_esEs22(vyw300, vyw4000, ty_Integer) → new_esEs18(vyw300, vyw4000)
new_primMulNat0(Succ(vyw30100), Zero) → Zero
new_primMulNat0(Zero, Succ(vyw400100)) → Zero
new_esEs21(vyw302, vyw4002, app(app(ty_Either, hh), baa)) → new_esEs5(vyw302, vyw4002, hh, baa)
new_esEs6(Just(vyw300), Just(vyw4000), app(ty_Maybe, cfd)) → new_esEs6(vyw300, vyw4000, cfd)
new_esEs19(vyw300, vyw4000, app(ty_[], fb)) → new_esEs11(vyw300, vyw4000, fb)
new_esEs23(vyw28000, vyw29000, ty_Int) → new_esEs9(vyw28000, vyw29000)
new_esEs29(vyw30, vyw400, ty_Char) → new_esEs17(vyw30, vyw400)
new_esEs30(vyw18, vyw13, app(ty_Ratio, ccf)) → new_esEs13(vyw18, vyw13, ccf)
new_esEs27(vyw300, vyw4000, ty_Integer) → new_esEs18(vyw300, vyw4000)
new_esEs20(vyw301, vyw4001, ty_Float) → new_esEs16(vyw301, vyw4001)
new_esEs18(Integer(vyw300), Integer(vyw4000)) → new_primEqInt(vyw300, vyw4000)
new_esEs6(Just(vyw300), Just(vyw4000), app(app(ty_@2, cfe), cff)) → new_esEs4(vyw300, vyw4000, cfe, cff)
new_lt19(vyw28001, vyw29001, app(ty_Maybe, cah)) → new_lt12(vyw28001, vyw29001, cah)
new_esEs23(vyw28000, vyw29000, app(ty_Maybe, bhf)) → new_esEs6(vyw28000, vyw29000, bhf)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Float, bcb) → new_ltEs16(vyw28000, vyw29000)
new_lt4(vyw28000, vyw29000, app(app(app(ty_@3, ce), cf), cg)) → new_lt14(vyw28000, vyw29000, ce, cf, cg)
new_esEs8(vyw28000, vyw29000, ty_Bool) → new_esEs10(vyw28000, vyw29000)
new_ltEs12(Nothing, Just(vyw29000), bfa) → True
new_ltEs7(Left(vyw28000), Left(vyw29000), app(ty_Maybe, bcg), bcb) → new_ltEs12(vyw28000, vyw29000, bcg)
new_esEs14(GT, GT) → True
new_esEs8(vyw28000, vyw29000, ty_Ordering) → new_esEs14(vyw28000, vyw29000)
new_esEs20(vyw301, vyw4001, app(app(ty_@2, gc), gd)) → new_esEs4(vyw301, vyw4001, gc, gd)
new_ltEs7(Left(vyw28000), Left(vyw29000), app(app(app(ty_@3, bch), bda), bdb), bcb) → new_ltEs14(vyw28000, vyw29000, bch, bda, bdb)
new_esEs30(vyw18, vyw13, app(app(ty_Either, cdc), cdd)) → new_esEs5(vyw18, vyw13, cdc, cdd)
new_esEs23(vyw28000, vyw29000, ty_Bool) → new_esEs10(vyw28000, vyw29000)
new_esEs5(Left(vyw300), Left(vyw4000), ty_@0, cge) → new_esEs15(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Ordering) → new_ltEs13(vyw28000, vyw29000)
new_esEs5(Right(vyw300), Right(vyw4000), chh, app(ty_Maybe, dab)) → new_esEs6(vyw300, vyw4000, dab)
new_esEs22(vyw300, vyw4000, ty_Float) → new_esEs16(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), app(app(app(ty_@3, ceg), ceh), cfa)) → new_ltEs14(vyw28000, vyw29000, ceg, ceh, cfa)
new_esEs25(vyw300, vyw4000, app(app(app(ty_@3, dce), dcf), dcg)) → new_esEs7(vyw300, vyw4000, dce, dcf, dcg)
new_ltEs20(vyw28002, vyw29002, app(app(ty_Either, cbf), cbg)) → new_ltEs7(vyw28002, vyw29002, cbf, cbg)
new_compare12(:%(vyw28000, vyw28001), :%(vyw29000, vyw29001), ty_Int) → new_compare8(new_sr(vyw28000, vyw29001), new_sr(vyw29000, vyw28001))
new_compare25(Just(vyw2800), Just(vyw2900), False, beg) → new_compare112(vyw2800, vyw2900, new_ltEs19(vyw2800, vyw2900, beg), beg)
new_esEs30(vyw18, vyw13, ty_Bool) → new_esEs10(vyw18, vyw13)
new_esEs26(vyw301, vyw4001, ty_Integer) → new_esEs18(vyw301, vyw4001)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Char) → new_ltEs17(vyw28000, vyw29000)
new_esEs5(Left(vyw300), Left(vyw4000), app(app(ty_Either, chc), chd), cge) → new_esEs5(vyw300, vyw4000, chc, chd)
new_compare18(Char(vyw28000), Char(vyw29000)) → new_primCmpNat0(vyw28000, vyw29000)
new_ltEs5(vyw28001, vyw29001, ty_Double) → new_ltEs10(vyw28001, vyw29001)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Float) → new_esEs16(vyw300, vyw4000)
new_esEs21(vyw302, vyw4002, ty_Double) → new_esEs12(vyw302, vyw4002)
new_esEs21(vyw302, vyw4002, app(ty_[], hg)) → new_esEs11(vyw302, vyw4002, hg)
new_esEs28(vyw301, vyw4001, ty_Int) → new_esEs9(vyw301, vyw4001)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Integer) → new_esEs18(vyw300, vyw4000)
new_compare112(vyw84, vyw85, False, bef) → GT
new_esEs30(vyw18, vyw13, ty_Char) → new_esEs17(vyw18, vyw13)
new_ltEs13(LT, LT) → True
new_esEs23(vyw28000, vyw29000, ty_Double) → new_esEs12(vyw28000, vyw29000)
new_esEs20(vyw301, vyw4001, ty_Char) → new_esEs17(vyw301, vyw4001)
new_compare26(vyw28000, vyw29000, True, ce, cf, cg) → EQ
new_esEs6(Just(vyw300), Just(vyw4000), ty_@0) → new_esEs15(vyw300, vyw4000)
new_lt7(vyw28000, vyw29000, bh, ca) → new_esEs14(new_compare9(vyw28000, vyw29000, bh, ca), LT)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Integer, bcb) → new_ltEs18(vyw28000, vyw29000)
new_compare0([], :(vyw29000, vyw29001), bae) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_ltEs5(vyw28001, vyw29001, app(app(ty_Either, dc), dd)) → new_ltEs7(vyw28001, vyw29001, dc, dd)
new_esEs24(vyw28001, vyw29001, ty_Float) → new_esEs16(vyw28001, vyw29001)
new_asAs(True, vyw91) → vyw91
new_esEs5(Right(vyw300), Right(vyw4000), chh, ty_Double) → new_esEs12(vyw300, vyw4000)
new_ltEs5(vyw28001, vyw29001, ty_Float) → new_ltEs16(vyw28001, vyw29001)
new_primMulNat0(Succ(vyw30100), Succ(vyw400100)) → new_primPlusNat0(new_primMulNat0(vyw30100, Succ(vyw400100)), vyw400100)
new_ltEs5(vyw28001, vyw29001, ty_Integer) → new_ltEs18(vyw28001, vyw29001)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, ty_Ordering) → new_ltEs13(vyw28000, vyw29000)
new_esEs10(False, True) → False
new_esEs10(True, False) → False
new_esEs14(LT, LT) → True
new_ltEs12(Just(vyw28000), Nothing, bfa) → False
new_lt16(vyw28000, vyw29000) → new_esEs14(new_compare17(vyw28000, vyw29000), LT)
new_esEs5(Left(vyw300), Left(vyw4000), ty_Float, cge) → new_esEs16(vyw300, vyw4000)
new_esEs29(vyw30, vyw400, ty_Integer) → new_esEs18(vyw30, vyw400)
new_esEs20(vyw301, vyw4001, ty_Integer) → new_esEs18(vyw301, vyw4001)
new_compare6(vyw28000, vyw29000, app(ty_Maybe, bbd)) → new_compare13(vyw28000, vyw29000, bbd)
new_esEs25(vyw300, vyw4000, ty_Ordering) → new_esEs14(vyw300, vyw4000)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, ty_Float) → new_ltEs16(vyw28000, vyw29000)
new_esEs9(vyw30, vyw400) → new_primEqInt(vyw30, vyw400)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Bool, bcb) → new_ltEs8(vyw28000, vyw29000)
new_esEs24(vyw28001, vyw29001, app(ty_Maybe, cah)) → new_esEs6(vyw28001, vyw29001, cah)
new_esEs21(vyw302, vyw4002, ty_Bool) → new_esEs10(vyw302, vyw4002)
new_ltEs20(vyw28002, vyw29002, ty_Int) → new_ltEs6(vyw28002, vyw29002)
new_lt10(vyw28000, vyw29000) → new_esEs14(new_compare11(vyw28000, vyw29000), LT)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, ty_Integer) → new_ltEs18(vyw28000, vyw29000)
new_esEs19(vyw300, vyw4000, ty_Integer) → new_esEs18(vyw300, vyw4000)
new_ltEs5(vyw28001, vyw29001, ty_@0) → new_ltEs15(vyw28001, vyw29001)
new_esEs22(vyw300, vyw4000, app(app(ty_Either, bgc), bgd)) → new_esEs5(vyw300, vyw4000, bgc, bgd)
new_lt20(vyw28000, vyw29000, ty_Double) → new_lt10(vyw28000, vyw29000)
new_primCompAux00(vyw109, GT) → GT
new_esEs21(vyw302, vyw4002, ty_Float) → new_esEs16(vyw302, vyw4002)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs19(vyw300, vyw4000, app(app(ty_@2, eh), fa)) → new_esEs4(vyw300, vyw4000, eh, fa)
new_ltEs10(vyw2800, vyw2900) → new_not(new_esEs14(new_compare11(vyw2800, vyw2900), GT))
new_lt20(vyw28000, vyw29000, app(ty_Maybe, bhf)) → new_lt12(vyw28000, vyw29000, bhf)
new_esEs5(Right(vyw300), Right(vyw4000), chh, app(ty_Ratio, daa)) → new_esEs13(vyw300, vyw4000, daa)
new_ltEs20(vyw28002, vyw29002, ty_Char) → new_ltEs17(vyw28002, vyw29002)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_esEs30(vyw18, vyw13, app(app(ty_@2, cch), cda)) → new_esEs4(vyw18, vyw13, cch, cda)
new_primCmpInt(Neg(Succ(vyw280000)), Pos(vyw29000)) → LT
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, ty_Int) → new_ltEs6(vyw28000, vyw29000)
new_compare11(Double(vyw28000, vyw28001), Double(vyw29000, vyw29001)) → new_compare8(new_sr(vyw28000, vyw29000), new_sr(vyw28001, vyw29001))
new_compare15(vyw28000, vyw29000, ce, cf, cg) → new_compare26(vyw28000, vyw29000, new_esEs7(vyw28000, vyw29000, ce, cf, cg), ce, cf, cg)
new_not(True) → False
new_ltEs19(vyw2800, vyw2900, ty_Ordering) → new_ltEs13(vyw2800, vyw2900)
new_esEs5(Left(vyw300), Left(vyw4000), ty_Char, cge) → new_esEs17(vyw300, vyw4000)
new_ltEs4(@2(vyw28000, vyw28001), @2(vyw29000, vyw29001), bd, be) → new_pePe(new_lt4(vyw28000, vyw29000, bd), new_asAs(new_esEs8(vyw28000, vyw29000, bd), new_ltEs5(vyw28001, vyw29001, be)))
new_compare6(vyw28000, vyw29000, app(app(ty_@2, baf), bag)) → new_compare7(vyw28000, vyw29000, baf, bag)

The set Q consists of the following terms:

new_compare6(x0, x1, app(app(ty_@2, x2), x3))
new_pePe(True, x0)
new_ltEs7(Left(x0), Left(x1), ty_Char, x2)
new_compare114(x0, x1, True, x2, x3)
new_esEs21(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(ty_[], x2))
new_compare6(x0, x1, ty_Bool)
new_ltEs20(x0, x1, ty_@0)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_ltEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Char)
new_esEs5(Right(x0), Right(x1), x2, ty_Int)
new_esEs14(EQ, GT)
new_esEs14(GT, EQ)
new_compare24(x0, x1, True, x2, x3)
new_ltEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs21(x0, x1, ty_Float)
new_esEs20(x0, x1, ty_Float)
new_ltEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primPlusNat1(Succ(x0), Succ(x1))
new_compare6(x0, x1, ty_Float)
new_esEs24(x0, x1, ty_Char)
new_ltEs15(x0, x1)
new_pePe(False, x0)
new_esEs8(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt4(x0, x1, ty_Integer)
new_lt4(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Float)
new_compare110(x0, x1, False, x2, x3)
new_esEs23(x0, x1, ty_Double)
new_esEs24(x0, x1, ty_Bool)
new_esEs9(x0, x1)
new_esEs20(x0, x1, ty_Integer)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Int)
new_compare25(Just(x0), Just(x1), False, x2)
new_esEs28(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Char)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_ltEs12(Just(x0), Nothing, x1)
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt4(x0, x1, app(ty_Maybe, x2))
new_esEs22(x0, x1, ty_Ordering)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_compare6(x0, x1, ty_Double)
new_ltEs18(x0, x1)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs25(x0, x1, ty_Float)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_lt9(x0, x1, x2)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, ty_@0)
new_esEs24(x0, x1, ty_Int)
new_ltEs7(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs8(True, True)
new_primCmpNat0(Succ(x0), Succ(x1))
new_ltEs19(x0, x1, ty_Int)
new_esEs6(Just(x0), Just(x1), app(ty_[], x2))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs30(x0, x1, ty_Integer)
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Ordering)
new_esEs6(Just(x0), Nothing, x1)
new_lt20(x0, x1, ty_Char)
new_compare13(x0, x1, x2)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_esEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Int)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(Just(x0), Just(x1), ty_Char)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare28(x0, x1, True)
new_ltEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs11([], :(x0, x1), x2)
new_ltEs12(Just(x0), Just(x1), ty_@0)
new_esEs14(LT, GT)
new_esEs14(GT, LT)
new_lt19(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_asAs(True, x0)
new_esEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_ltEs5(x0, x1, ty_Double)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primEqNat0(Zero, Zero)
new_esEs25(x0, x1, ty_Int)
new_esEs29(x0, x1, ty_@0)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, ty_Bool)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare111(x0, x1, False)
new_primEqNat0(Succ(x0), Zero)
new_ltEs13(EQ, EQ)
new_lt20(x0, x1, app(ty_[], x2))
new_ltEs7(Right(x0), Right(x1), x2, ty_Double)
new_lt19(x0, x1, app(ty_[], x2))
new_esEs19(x0, x1, ty_Bool)
new_compare6(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs27(x0, x1, ty_Int)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_@0)
new_ltEs10(x0, x1)
new_lt8(x0, x1)
new_primMulNat0(Zero, Zero)
new_lt13(x0, x1)
new_compare113(x0, x1, True)
new_esEs29(x0, x1, ty_Int)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs10(False, True)
new_esEs10(True, False)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_lt5(x0, x1, x2, x3)
new_esEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primMulNat0(Zero, Succ(x0))
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Bool)
new_esEs22(x0, x1, ty_Float)
new_esEs20(x0, x1, ty_Int)
new_esEs6(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs5(Right(x0), Right(x1), x2, ty_Float)
new_ltEs13(LT, EQ)
new_ltEs13(EQ, LT)
new_primPlusNat0(Succ(x0), x1)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs5(Left(x0), Left(x1), ty_Integer, x2)
new_esEs19(x0, x1, ty_Integer)
new_esEs22(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Integer)
new_esEs19(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), ty_Bool)
new_esEs26(x0, x1, ty_@0)
new_esEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_compare15(x0, x1, x2, x3, x4)
new_ltEs9(x0, x1, x2)
new_sr(x0, x1)
new_primCmpNat0(Zero, Succ(x0))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_esEs30(x0, x1, ty_Double)
new_esEs24(x0, x1, app(ty_[], x2))
new_lt4(x0, x1, ty_Double)
new_primEqNat0(Zero, Succ(x0))
new_esEs23(x0, x1, ty_Bool)
new_esEs30(x0, x1, ty_@0)
new_asAs(False, x0)
new_esEs24(x0, x1, ty_Double)
new_esEs29(x0, x1, ty_Integer)
new_compare0(:(x0, x1), [], x2)
new_ltEs6(x0, x1)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, ty_Ordering)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs24(x0, x1, ty_Integer)
new_esEs8(x0, x1, ty_Char)
new_compare27(x0, x1, True, x2, x3)
new_esEs20(x0, x1, ty_@0)
new_esEs6(Nothing, Nothing, x0)
new_compare28(x0, x1, False)
new_esEs22(x0, x1, ty_@0)
new_esEs6(Just(x0), Just(x1), ty_Bool)
new_lt4(x0, x1, ty_Int)
new_ltEs7(Left(x0), Right(x1), x2, x3)
new_ltEs7(Right(x0), Left(x1), x2, x3)
new_compare26(x0, x1, True, x2, x3, x4)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_compare16(@0, @0)
new_esEs5(Right(x0), Right(x1), x2, ty_Char)
new_ltEs19(x0, x1, ty_Bool)
new_esEs6(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs12(Double(x0, x1), Double(x2, x3))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_compare17(Float(x0, x1), Float(x2, x3))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, ty_Float)
new_esEs6(Just(x0), Just(x1), ty_@0)
new_esEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs12(Just(x0), Just(x1), ty_Double)
new_ltEs5(x0, x1, ty_Integer)
new_ltEs14(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_primPlusNat1(Zero, Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs14(LT, LT)
new_esEs10(True, True)
new_esEs24(x0, x1, ty_Float)
new_esEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs19(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Double)
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Integer)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, app(ty_[], x2))
new_ltEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs30(x0, x1, ty_Int)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_lt19(x0, x1, ty_@0)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare113(x0, x1, False)
new_compare6(x0, x1, ty_Integer)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11([], [], x0)
new_esEs8(x0, x1, ty_@0)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs6(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_primCompAux0(x0, x1, x2, x3)
new_esEs5(Right(x0), Right(x1), x2, ty_Double)
new_ltEs5(x0, x1, ty_Char)
new_ltEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_lt19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(x0, x1)
new_esEs22(x0, x1, ty_Bool)
new_esEs27(x0, x1, ty_Integer)
new_ltEs7(Left(x0), Left(x1), ty_Int, x2)
new_esEs29(x0, x1, ty_Float)
new_esEs8(x0, x1, ty_Double)
new_lt20(x0, x1, ty_Integer)
new_ltEs13(EQ, GT)
new_ltEs13(GT, EQ)
new_esEs26(x0, x1, ty_Double)
new_esEs6(Just(x0), Just(x1), ty_Float)
new_ltEs5(x0, x1, app(ty_Maybe, x2))
new_ltEs7(Left(x0), Left(x1), ty_Float, x2)
new_lt12(x0, x1, x2)
new_esEs11(:(x0, x1), :(x2, x3), x4)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs5(x0, x1, app(ty_Ratio, x2))
new_ltEs7(Left(x0), Left(x1), ty_Double, x2)
new_ltEs8(False, False)
new_lt20(x0, x1, ty_Double)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(x0, x1, ty_Int)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_ltEs19(x0, x1, ty_Float)
new_ltEs7(Right(x0), Right(x1), x2, ty_Float)
new_ltEs19(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, ty_Char)
new_esEs8(x0, x1, ty_Int)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Pos(Zero))
new_esEs8(x0, x1, ty_Float)
new_esEs23(x0, x1, app(ty_[], x2))
new_ltEs8(False, True)
new_ltEs8(True, False)
new_ltEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_ltEs7(Right(x0), Right(x1), x2, ty_Char)
new_lt4(x0, x1, ty_Bool)
new_compare115(x0, x1, True, x2, x3, x4)
new_ltEs12(Just(x0), Just(x1), ty_Int)
new_compare19(Integer(x0), Integer(x1))
new_esEs25(x0, x1, ty_Char)
new_compare9(x0, x1, x2, x3)
new_lt18(x0, x1)
new_ltEs13(LT, GT)
new_ltEs13(GT, LT)
new_primCompAux00(x0, EQ)
new_esEs21(x0, x1, ty_Double)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs6(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Zero), Neg(Zero))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_sr0(Integer(x0), Integer(x1))
new_compare110(x0, x1, True, x2, x3)
new_ltEs19(x0, x1, ty_Char)
new_lt4(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, ty_Double)
new_compare18(Char(x0), Char(x1))
new_esEs8(x0, x1, ty_Bool)
new_ltEs5(x0, x1, ty_Bool)
new_esEs6(Just(x0), Just(x1), ty_Ordering)
new_esEs20(x0, x1, ty_Bool)
new_esEs6(Just(x0), Just(x1), ty_Integer)
new_compare8(x0, x1)
new_compare7(x0, x1, x2, x3)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs12(Just(x0), Just(x1), ty_Float)
new_ltEs19(x0, x1, ty_@0)
new_compare0([], :(x0, x1), x2)
new_ltEs7(Left(x0), Left(x1), ty_Integer, x2)
new_primCompAux00(x0, LT)
new_esEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_lt17(x0, x1)
new_lt4(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs18(Integer(x0), Integer(x1))
new_lt20(x0, x1, ty_Bool)
new_esEs29(x0, x1, ty_Bool)
new_lt4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs21(x0, x1, app(ty_[], x2))
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs17(Char(x0), Char(x1))
new_esEs19(x0, x1, ty_Double)
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_compare26(x0, x1, False, x2, x3, x4)
new_esEs19(x0, x1, app(ty_[], x2))
new_lt6(x0, x1)
new_lt19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Bool)
new_lt4(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, ty_Int)
new_ltEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_lt19(x0, x1, ty_Ordering)
new_esEs23(x0, x1, ty_Int)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs7(Left(x0), Left(x1), ty_@0, x2)
new_esEs5(Left(x0), Right(x1), x2, x3)
new_esEs5(Right(x0), Left(x1), x2, x3)
new_lt19(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Bool)
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_lt19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Ordering)
new_ltEs7(Right(x0), Right(x1), x2, ty_Bool)
new_esEs23(x0, x1, ty_Char)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(Nothing, Just(x0), x1)
new_primCmpNat0(Zero, Zero)
new_esEs6(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt4(x0, x1, ty_Char)
new_ltEs7(Right(x0), Right(x1), x2, ty_Int)
new_esEs5(Left(x0), Left(x1), ty_Bool, x2)
new_esEs10(False, False)
new_compare112(x0, x1, True, x2)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(x0, x1, ty_Char)
new_primPlusNat1(Zero, Succ(x0))
new_lt20(x0, x1, ty_Int)
new_ltEs13(LT, LT)
new_esEs5(Left(x0), Left(x1), ty_Int, x2)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_ltEs5(x0, x1, app(app(ty_@2, x2), x3))
new_lt19(x0, x1, ty_Bool)
new_esEs15(@0, @0)
new_esEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs30(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_Char)
new_compare6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Just(x0), Just(x1), ty_Char)
new_esEs6(Just(x0), Just(x1), ty_Double)
new_esEs30(x0, x1, ty_Float)
new_compare24(x0, x1, False, x2, x3)
new_ltEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs12(Nothing, Nothing, x0)
new_esEs25(x0, x1, ty_Bool)
new_primCmpNat0(Succ(x0), Zero)
new_compare6(x0, x1, app(ty_Maybe, x2))
new_ltEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_compare25(Just(x0), Nothing, False, x1)
new_esEs5(Right(x0), Right(x1), x2, ty_Integer)
new_lt19(x0, x1, ty_Double)
new_ltEs5(x0, x1, ty_Int)
new_ltEs13(GT, GT)
new_ltEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs19(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Double)
new_esEs16(Float(x0, x1), Float(x2, x3))
new_esEs11(:(x0, x1), [], x2)
new_lt14(x0, x1, x2, x3, x4)
new_esEs24(x0, x1, ty_@0)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_lt11(x0, x1, x2)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_compare14(x0, x1)
new_not(True)
new_lt19(x0, x1, ty_Float)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_compare23(x0, x1, False)
new_ltEs11(x0, x1, x2)
new_ltEs5(x0, x1, ty_Ordering)
new_ltEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_lt4(x0, x1, ty_Ordering)
new_compare27(x0, x1, False, x2, x3)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_lt4(x0, x1, ty_@0)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_not(False)
new_primCompAux00(x0, GT)
new_esEs23(x0, x1, ty_Integer)
new_lt15(x0, x1)
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs8(x0, x1, ty_Integer)
new_esEs20(x0, x1, ty_Double)
new_esEs25(x0, x1, ty_@0)
new_ltEs5(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare111(x0, x1, True)
new_compare6(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Int)
new_esEs5(Left(x0), Left(x1), ty_Double, x2)
new_ltEs17(x0, x1)
new_lt7(x0, x1, x2, x3)
new_esEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Nothing, Just(x0), x1)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Just(x0), Just(x1), ty_Integer)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs14(EQ, LT)
new_esEs14(LT, EQ)
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_compare6(x0, x1, ty_Int)
new_esEs5(Left(x0), Left(x1), ty_Float, x2)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Ordering)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_compare23(x0, x1, True)
new_compare115(x0, x1, False, x2, x3, x4)
new_esEs5(Left(x0), Left(x1), ty_@0, x2)
new_esEs14(GT, GT)
new_ltEs16(x0, x1)
new_compare25(x0, x1, True, x2)
new_esEs19(x0, x1, ty_@0)
new_esEs6(Just(x0), Just(x1), ty_Int)
new_esEs19(x0, x1, ty_Float)
new_lt4(x0, x1, ty_Float)
new_compare11(Double(x0, x1), Double(x2, x3))
new_esEs20(x0, x1, ty_Char)
new_esEs7(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt19(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Char)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_compare114(x0, x1, False, x2, x3)
new_esEs25(x0, x1, ty_Double)
new_compare6(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs14(EQ, EQ)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_compare6(x0, x1, app(ty_Ratio, x2))
new_compare25(Nothing, Just(x0), False, x1)
new_compare6(x0, x1, ty_@0)
new_lt19(x0, x1, app(ty_Ratio, x2))
new_ltEs12(Just(x0), Just(x1), ty_Ordering)
new_esEs20(x0, x1, ty_Ordering)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_primEqNat0(Succ(x0), Succ(x1))
new_primEqInt(Pos(Zero), Pos(Zero))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_lt19(x0, x1, ty_Int)
new_compare112(x0, x1, False, x2)
new_ltEs7(Left(x0), Left(x1), ty_Bool, x2)
new_esEs5(Left(x0), Left(x1), ty_Char, x2)
new_esEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(x0, x1, ty_Ordering)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_compare25(Nothing, Nothing, False, x0)
new_lt16(x0, x1)
new_esEs21(x0, x1, ty_Ordering)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare0(:(x0, x1), :(x2, x3), x4)
new_esEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_ltEs5(x0, x1, ty_@0)
new_esEs5(Right(x0), Right(x1), x2, ty_@0)
new_primMulNat0(Succ(x0), Zero)
new_compare0([], [], x0)
new_primPlusNat0(Zero, x0)
new_esEs5(Right(x0), Right(x1), x2, ty_Bool)
new_lt20(x0, x1, ty_Float)
new_lt10(x0, x1)
new_ltEs7(Right(x0), Right(x1), x2, ty_@0)
new_ltEs20(x0, x1, ty_Float)

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 2 SCCs.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
QDP
                                          ↳ UsableRulesProof
                                        ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_elemFM01(vyw400, vyw41, vyw42, vyw43, vyw44, False, h, ba) → new_elemFM04(vyw400, vyw41, vyw42, vyw43, vyw44, new_esEs14(new_compare25(Nothing, Just(vyw400), False, ba), GT), h, ba)
new_elemFM00(Branch(Just(vyw400), vyw41, vyw42, vyw43, vyw44), Nothing, h, ba) → new_elemFM01(vyw400, vyw41, vyw42, vyw43, vyw44, new_esEs14(new_compare25(Nothing, Just(vyw400), False, ba), LT), h, ba)
new_elemFM04(vyw400, vyw41, vyw42, vyw43, vyw44, True, h, ba) → new_elemFM00(vyw44, Nothing, h, ba)
new_elemFM00(Branch(Nothing, vyw41, vyw42, vyw43, vyw44), Nothing, h, ba) → new_elemFM0(vyw41, vyw42, vyw43, vyw44, new_esEs14(new_compare25(Nothing, Nothing, True, ba), GT), h, ba)
new_elemFM0(vyw41, vyw42, vyw43, vyw44, True, h, ba) → new_elemFM00(vyw44, Nothing, h, ba)
new_elemFM01(vyw400, vyw41, vyw42, vyw43, vyw44, True, h, ba) → new_elemFM00(vyw43, Nothing, h, ba)

The TRS R consists of the following rules:

new_esEs30(vyw18, vyw13, app(ty_Maybe, ccg)) → new_esEs6(vyw18, vyw13, ccg)
new_esEs26(vyw301, vyw4001, ty_@0) → new_esEs15(vyw301, vyw4001)
new_compare112(vyw84, vyw85, True, bef) → LT
new_esEs24(vyw28001, vyw29001, app(app(ty_Either, cad), cae)) → new_esEs5(vyw28001, vyw29001, cad, cae)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Char) → new_esEs17(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Int) → new_ltEs6(vyw28000, vyw29000)
new_ltEs19(vyw2800, vyw2900, app(ty_Ratio, beh)) → new_ltEs11(vyw2800, vyw2900, beh)
new_compare6(vyw28000, vyw29000, app(app(app(ty_@3, bbe), bbf), bbg)) → new_compare15(vyw28000, vyw29000, bbe, bbf, bbg)
new_ltEs8(False, True) → True
new_esEs5(Left(vyw300), Left(vyw4000), ty_Ordering, cge) → new_esEs14(vyw300, vyw4000)
new_esEs17(Char(vyw300), Char(vyw4000)) → new_primEqNat0(vyw300, vyw4000)
new_compare6(vyw28000, vyw29000, app(ty_[], bbb)) → new_compare0(vyw28000, vyw29000, bbb)
new_ltEs19(vyw2800, vyw2900, app(ty_[], bae)) → new_ltEs9(vyw2800, vyw2900, bae)
new_esEs24(vyw28001, vyw29001, ty_Char) → new_esEs17(vyw28001, vyw29001)
new_compare110(vyw28000, vyw29000, True, bf, bg) → LT
new_lt6(vyw28000, vyw29000) → new_esEs14(new_compare8(vyw28000, vyw29000), LT)
new_lt19(vyw28001, vyw29001, ty_Integer) → new_lt18(vyw28001, vyw29001)
new_esEs23(vyw28000, vyw29000, app(app(ty_Either, bhb), bhc)) → new_esEs5(vyw28000, vyw29000, bhb, bhc)
new_esEs5(Left(vyw300), Left(vyw4000), ty_Double, cge) → new_esEs12(vyw300, vyw4000)
new_esEs23(vyw28000, vyw29000, app(app(ty_@2, bgh), bha)) → new_esEs4(vyw28000, vyw29000, bgh, bha)
new_esEs23(vyw28000, vyw29000, ty_Integer) → new_esEs18(vyw28000, vyw29000)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, app(ty_[], bdh)) → new_ltEs9(vyw28000, vyw29000, bdh)
new_esEs29(vyw30, vyw400, ty_Int) → new_esEs9(vyw30, vyw400)
new_esEs20(vyw301, vyw4001, ty_Int) → new_esEs9(vyw301, vyw4001)
new_lt4(vyw28000, vyw29000, ty_Double) → new_lt10(vyw28000, vyw29000)
new_esEs20(vyw301, vyw4001, ty_Double) → new_esEs12(vyw301, vyw4001)
new_compare27(vyw28000, vyw29000, False, bh, ca) → new_compare114(vyw28000, vyw29000, new_ltEs7(vyw28000, vyw29000, bh, ca), bh, ca)
new_esEs25(vyw300, vyw4000, ty_Char) → new_esEs17(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), app(ty_[], ced)) → new_ltEs9(vyw28000, vyw29000, ced)
new_esEs23(vyw28000, vyw29000, ty_Float) → new_esEs16(vyw28000, vyw29000)
new_ltEs12(Nothing, Nothing, bfa) → True
new_esEs16(Float(vyw300, vyw301), Float(vyw4000, vyw4001)) → new_esEs9(new_sr(vyw300, vyw4000), new_sr(vyw301, vyw4001))
new_ltEs7(Left(vyw28000), Right(vyw29000), bdc, bcb) → True
new_primMulNat0(Zero, Zero) → Zero
new_esEs25(vyw300, vyw4000, ty_Double) → new_esEs12(vyw300, vyw4000)
new_esEs6(Just(vyw300), Just(vyw4000), app(ty_Ratio, cfc)) → new_esEs13(vyw300, vyw4000, cfc)
new_ltEs20(vyw28002, vyw29002, ty_@0) → new_ltEs15(vyw28002, vyw29002)
new_esEs29(vyw30, vyw400, ty_Float) → new_esEs16(vyw30, vyw400)
new_esEs5(Right(vyw300), Right(vyw4000), chh, ty_Float) → new_esEs16(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Float) → new_ltEs16(vyw28000, vyw29000)
new_esEs23(vyw28000, vyw29000, app(ty_Ratio, bhe)) → new_esEs13(vyw28000, vyw29000, bhe)
new_esEs25(vyw300, vyw4000, app(app(ty_@2, dbh), dca)) → new_esEs4(vyw300, vyw4000, dbh, dca)
new_lt20(vyw28000, vyw29000, ty_Integer) → new_lt18(vyw28000, vyw29000)
new_compare25(vyw280, vyw290, True, beg) → EQ
new_compare10(vyw28000, vyw29000) → new_compare23(vyw28000, vyw29000, new_esEs10(vyw28000, vyw29000))
new_lt20(vyw28000, vyw29000, app(app(ty_@2, bgh), bha)) → new_lt5(vyw28000, vyw29000, bgh, bha)
new_esEs22(vyw300, vyw4000, ty_Char) → new_esEs17(vyw300, vyw4000)
new_esEs8(vyw28000, vyw29000, ty_Double) → new_esEs12(vyw28000, vyw29000)
new_compare14(vyw28000, vyw29000) → new_compare28(vyw28000, vyw29000, new_esEs14(vyw28000, vyw29000))
new_compare16(@0, @0) → EQ
new_lt18(vyw28000, vyw29000) → new_esEs14(new_compare19(vyw28000, vyw29000), LT)
new_esEs19(vyw300, vyw4000, app(app(app(ty_@3, ff), fg), fh)) → new_esEs7(vyw300, vyw4000, ff, fg, fh)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, app(app(ty_@2, bdd), bde)) → new_ltEs4(vyw28000, vyw29000, bdd, bde)
new_esEs30(vyw18, vyw13, ty_Int) → new_esEs9(vyw18, vyw13)
new_esEs22(vyw300, vyw4000, ty_Bool) → new_esEs10(vyw300, vyw4000)
new_esEs19(vyw300, vyw4000, ty_Int) → new_esEs9(vyw300, vyw4000)
new_ltEs6(vyw2800, vyw2900) → new_not(new_esEs14(new_compare8(vyw2800, vyw2900), GT))
new_esEs20(vyw301, vyw4001, app(ty_Ratio, ga)) → new_esEs13(vyw301, vyw4001, ga)
new_ltEs13(LT, EQ) → True
new_ltEs20(vyw28002, vyw29002, app(ty_[], cbh)) → new_ltEs9(vyw28002, vyw29002, cbh)
new_esEs11([], [], bfe) → True
new_compare0(:(vyw28000, vyw28001), :(vyw29000, vyw29001), bae) → new_primCompAux0(vyw28000, vyw29000, new_compare0(vyw28001, vyw29001, bae), bae)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Double) → new_esEs12(vyw300, vyw4000)
new_compare6(vyw28000, vyw29000, ty_Float) → new_compare17(vyw28000, vyw29000)
new_esEs22(vyw300, vyw4000, app(ty_Maybe, bfg)) → new_esEs6(vyw300, vyw4000, bfg)
new_esEs21(vyw302, vyw4002, app(app(app(ty_@3, bab), bac), bad)) → new_esEs7(vyw302, vyw4002, bab, bac, bad)
new_compare12(:%(vyw28000, vyw28001), :%(vyw29000, vyw29001), ty_Integer) → new_compare19(new_sr0(vyw28000, vyw29001), new_sr0(vyw29000, vyw28001))
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_@0) → new_ltEs15(vyw28000, vyw29000)
new_esEs29(vyw30, vyw400, app(app(app(ty_@3, ec), ed), ee)) → new_esEs7(vyw30, vyw400, ec, ed, ee)
new_ltEs19(vyw2800, vyw2900, app(ty_Maybe, bfa)) → new_ltEs12(vyw2800, vyw2900, bfa)
new_lt15(vyw28000, vyw29000) → new_esEs14(new_compare16(vyw28000, vyw29000), LT)
new_compare6(vyw28000, vyw29000, ty_@0) → new_compare16(vyw28000, vyw29000)
new_esEs8(vyw28000, vyw29000, app(app(ty_@2, bf), bg)) → new_esEs4(vyw28000, vyw29000, bf, bg)
new_lt9(vyw28000, vyw29000, cb) → new_esEs14(new_compare0(vyw28000, vyw29000, cb), LT)
new_compare6(vyw28000, vyw29000, ty_Integer) → new_compare19(vyw28000, vyw29000)
new_ltEs5(vyw28001, vyw29001, ty_Ordering) → new_ltEs13(vyw28001, vyw29001)
new_esEs19(vyw300, vyw4000, app(app(ty_Either, fc), fd)) → new_esEs5(vyw300, vyw4000, fc, fd)
new_ltEs19(vyw2800, vyw2900, ty_Float) → new_ltEs16(vyw2800, vyw2900)
new_esEs5(Left(vyw300), Left(vyw4000), app(ty_Maybe, cgg), cge) → new_esEs6(vyw300, vyw4000, cgg)
new_pePe(False, vyw98) → vyw98
new_esEs26(vyw301, vyw4001, ty_Bool) → new_esEs10(vyw301, vyw4001)
new_esEs19(vyw300, vyw4000, ty_@0) → new_esEs15(vyw300, vyw4000)
new_lt19(vyw28001, vyw29001, ty_Double) → new_lt10(vyw28001, vyw29001)
new_ltEs19(vyw2800, vyw2900, app(app(ty_@2, bd), be)) → new_ltEs4(vyw2800, vyw2900, bd, be)
new_esEs8(vyw28000, vyw29000, ty_Float) → new_esEs16(vyw28000, vyw29000)
new_compare23(vyw28000, vyw29000, True) → EQ
new_esEs28(vyw301, vyw4001, ty_Integer) → new_esEs18(vyw301, vyw4001)
new_lt19(vyw28001, vyw29001, app(ty_[], caf)) → new_lt9(vyw28001, vyw29001, caf)
new_esEs19(vyw300, vyw4000, app(ty_Maybe, eg)) → new_esEs6(vyw300, vyw4000, eg)
new_esEs22(vyw300, vyw4000, ty_@0) → new_esEs15(vyw300, vyw4000)
new_ltEs5(vyw28001, vyw29001, app(app(ty_@2, da), db)) → new_ltEs4(vyw28001, vyw29001, da, db)
new_esEs22(vyw300, vyw4000, app(app(ty_@2, bfh), bga)) → new_esEs4(vyw300, vyw4000, bfh, bga)
new_ltEs14(@3(vyw28000, vyw28001, vyw28002), @3(vyw29000, vyw29001, vyw29002), bfb, bfc, bfd) → new_pePe(new_lt20(vyw28000, vyw29000, bfb), new_asAs(new_esEs23(vyw28000, vyw29000, bfb), new_pePe(new_lt19(vyw28001, vyw29001, bfc), new_asAs(new_esEs24(vyw28001, vyw29001, bfc), new_ltEs20(vyw28002, vyw29002, bfd)))))
new_esEs14(EQ, EQ) → True
new_lt11(vyw28000, vyw29000, cc) → new_esEs14(new_compare12(vyw28000, vyw29000, cc), LT)
new_esEs19(vyw300, vyw4000, ty_Float) → new_esEs16(vyw300, vyw4000)
new_ltEs13(EQ, GT) → True
new_ltEs5(vyw28001, vyw29001, app(app(app(ty_@3, dh), ea), eb)) → new_ltEs14(vyw28001, vyw29001, dh, ea, eb)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Ordering) → new_esEs14(vyw300, vyw4000)
new_esEs29(vyw30, vyw400, app(ty_Ratio, dbc)) → new_esEs13(vyw30, vyw400, dbc)
new_esEs5(Right(vyw300), Right(vyw4000), chh, ty_@0) → new_esEs15(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), app(ty_Ratio, cee)) → new_ltEs11(vyw28000, vyw29000, cee)
new_compare111(vyw28000, vyw29000, False) → GT
new_compare111(vyw28000, vyw29000, True) → LT
new_esEs24(vyw28001, vyw29001, app(ty_[], caf)) → new_esEs11(vyw28001, vyw29001, caf)
new_ltEs5(vyw28001, vyw29001, app(ty_[], de)) → new_ltEs9(vyw28001, vyw29001, de)
new_esEs29(vyw30, vyw400, app(app(ty_@2, dbd), dbe)) → new_esEs4(vyw30, vyw400, dbd, dbe)
new_esEs29(vyw30, vyw400, app(ty_[], bfe)) → new_esEs11(vyw30, vyw400, bfe)
new_lt20(vyw28000, vyw29000, app(app(ty_Either, bhb), bhc)) → new_lt7(vyw28000, vyw29000, bhb, bhc)
new_esEs5(Right(vyw300), Right(vyw4000), chh, app(app(ty_@2, dac), dad)) → new_esEs4(vyw300, vyw4000, dac, dad)
new_esEs5(Right(vyw300), Right(vyw4000), chh, ty_Char) → new_esEs17(vyw300, vyw4000)
new_ltEs20(vyw28002, vyw29002, app(app(ty_@2, cbd), cbe)) → new_ltEs4(vyw28002, vyw29002, cbd, cbe)
new_esEs23(vyw28000, vyw29000, app(app(app(ty_@3, bhg), bhh), caa)) → new_esEs7(vyw28000, vyw29000, bhg, bhh, caa)
new_primCmpNat0(Zero, Succ(vyw290000)) → LT
new_esEs26(vyw301, vyw4001, ty_Double) → new_esEs12(vyw301, vyw4001)
new_esEs20(vyw301, vyw4001, ty_Ordering) → new_esEs14(vyw301, vyw4001)
new_ltEs20(vyw28002, vyw29002, ty_Bool) → new_ltEs8(vyw28002, vyw29002)
new_lt19(vyw28001, vyw29001, app(app(ty_@2, cab), cac)) → new_lt5(vyw28001, vyw29001, cab, cac)
new_lt20(vyw28000, vyw29000, app(app(app(ty_@3, bhg), bhh), caa)) → new_lt14(vyw28000, vyw29000, bhg, bhh, caa)
new_ltEs7(Left(vyw28000), Left(vyw29000), app(ty_Ratio, bcf), bcb) → new_ltEs11(vyw28000, vyw29000, bcf)
new_esEs25(vyw300, vyw4000, app(app(ty_Either, dcc), dcd)) → new_esEs5(vyw300, vyw4000, dcc, dcd)
new_compare24(vyw28000, vyw29000, False, bf, bg) → new_compare110(vyw28000, vyw29000, new_ltEs4(vyw28000, vyw29000, bf, bg), bf, bg)
new_lt20(vyw28000, vyw29000, ty_@0) → new_lt15(vyw28000, vyw29000)
new_esEs21(vyw302, vyw4002, app(ty_Ratio, hc)) → new_esEs13(vyw302, vyw4002, hc)
new_lt19(vyw28001, vyw29001, ty_@0) → new_lt15(vyw28001, vyw29001)
new_esEs7(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), ec, ed, ee) → new_asAs(new_esEs19(vyw300, vyw4000, ec), new_asAs(new_esEs20(vyw301, vyw4001, ed), new_esEs21(vyw302, vyw4002, ee)))
new_esEs25(vyw300, vyw4000, app(ty_Ratio, dbf)) → new_esEs13(vyw300, vyw4000, dbf)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Double) → new_ltEs10(vyw28000, vyw29000)
new_compare0([], [], bae) → EQ
new_pePe(True, vyw98) → True
new_primEqNat0(Zero, Zero) → True
new_esEs6(Just(vyw300), Just(vyw4000), app(app(app(ty_@3, cgb), cgc), cgd)) → new_esEs7(vyw300, vyw4000, cgb, cgc, cgd)
new_esEs23(vyw28000, vyw29000, ty_Ordering) → new_esEs14(vyw28000, vyw29000)
new_ltEs19(vyw2800, vyw2900, ty_Integer) → new_ltEs18(vyw2800, vyw2900)
new_ltEs5(vyw28001, vyw29001, ty_Bool) → new_ltEs8(vyw28001, vyw29001)
new_esEs29(vyw30, vyw400, app(ty_Maybe, cfb)) → new_esEs6(vyw30, vyw400, cfb)
new_esEs19(vyw300, vyw4000, app(ty_Ratio, ef)) → new_esEs13(vyw300, vyw4000, ef)
new_esEs26(vyw301, vyw4001, ty_Char) → new_esEs17(vyw301, vyw4001)
new_esEs19(vyw300, vyw4000, ty_Bool) → new_esEs10(vyw300, vyw4000)
new_esEs26(vyw301, vyw4001, app(ty_Maybe, dda)) → new_esEs6(vyw301, vyw4001, dda)
new_esEs8(vyw28000, vyw29000, ty_Int) → new_esEs9(vyw28000, vyw29000)
new_esEs5(Left(vyw300), Left(vyw4000), ty_Int, cge) → new_esEs9(vyw300, vyw4000)
new_lt4(vyw28000, vyw29000, ty_Char) → new_lt17(vyw28000, vyw29000)
new_esEs26(vyw301, vyw4001, app(ty_Ratio, dch)) → new_esEs13(vyw301, vyw4001, dch)
new_lt20(vyw28000, vyw29000, app(ty_[], bhd)) → new_lt9(vyw28000, vyw29000, bhd)
new_esEs25(vyw300, vyw4000, ty_Integer) → new_esEs18(vyw300, vyw4000)
new_compare110(vyw28000, vyw29000, False, bf, bg) → GT
new_ltEs15(vyw2800, vyw2900) → new_not(new_esEs14(new_compare16(vyw2800, vyw2900), GT))
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, ty_Double) → new_ltEs10(vyw28000, vyw29000)
new_ltEs20(vyw28002, vyw29002, app(app(app(ty_@3, ccc), ccd), cce)) → new_ltEs14(vyw28002, vyw29002, ccc, ccd, cce)
new_sr(vyw301, vyw4001) → new_primMulInt(vyw301, vyw4001)
new_esEs30(vyw18, vyw13, app(ty_[], cdb)) → new_esEs11(vyw18, vyw13, cdb)
new_esEs11(:(vyw300, vyw301), :(vyw4000, vyw4001), bfe) → new_asAs(new_esEs22(vyw300, vyw4000, bfe), new_esEs11(vyw301, vyw4001, bfe))
new_esEs14(LT, GT) → False
new_esEs14(GT, LT) → False
new_ltEs20(vyw28002, vyw29002, app(ty_Ratio, cca)) → new_ltEs11(vyw28002, vyw29002, cca)
new_primPlusNat0(Succ(vyw1000), vyw400100) → Succ(Succ(new_primPlusNat1(vyw1000, vyw400100)))
new_lt19(vyw28001, vyw29001, app(ty_Ratio, cag)) → new_lt11(vyw28001, vyw29001, cag)
new_esEs25(vyw300, vyw4000, ty_Float) → new_esEs16(vyw300, vyw4000)
new_esEs20(vyw301, vyw4001, app(app(app(ty_@3, gh), ha), hb)) → new_esEs7(vyw301, vyw4001, gh, ha, hb)
new_ltEs18(vyw2800, vyw2900) → new_not(new_esEs14(new_compare19(vyw2800, vyw2900), GT))
new_ltEs19(vyw2800, vyw2900, ty_Double) → new_ltEs10(vyw2800, vyw2900)
new_esEs5(Right(vyw300), Right(vyw4000), chh, app(ty_[], dae)) → new_esEs11(vyw300, vyw4000, dae)
new_lt20(vyw28000, vyw29000, ty_Char) → new_lt17(vyw28000, vyw29000)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_@0, bcb) → new_ltEs15(vyw28000, vyw29000)
new_esEs5(Left(vyw300), Left(vyw4000), app(ty_Ratio, cgf), cge) → new_esEs13(vyw300, vyw4000, cgf)
new_ltEs20(vyw28002, vyw29002, ty_Float) → new_ltEs16(vyw28002, vyw29002)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, ty_@0) → new_ltEs15(vyw28000, vyw29000)
new_lt4(vyw28000, vyw29000, app(app(ty_Either, bh), ca)) → new_lt7(vyw28000, vyw29000, bh, ca)
new_lt14(vyw28000, vyw29000, ce, cf, cg) → new_esEs14(new_compare15(vyw28000, vyw29000, ce, cf, cg), LT)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Int, bcb) → new_ltEs6(vyw28000, vyw29000)
new_lt19(vyw28001, vyw29001, ty_Bool) → new_lt8(vyw28001, vyw29001)
new_primEqInt(Neg(Succ(vyw3000)), Neg(Succ(vyw40000))) → new_primEqNat0(vyw3000, vyw40000)
new_lt20(vyw28000, vyw29000, app(ty_Ratio, bhe)) → new_lt11(vyw28000, vyw29000, bhe)
new_compare6(vyw28000, vyw29000, ty_Bool) → new_compare10(vyw28000, vyw29000)
new_compare28(vyw28000, vyw29000, False) → new_compare113(vyw28000, vyw29000, new_ltEs13(vyw28000, vyw29000))
new_ltEs5(vyw28001, vyw29001, ty_Char) → new_ltEs17(vyw28001, vyw29001)
new_primCompAux0(vyw28000, vyw29000, vyw99, bae) → new_primCompAux00(vyw99, new_compare6(vyw28000, vyw29000, bae))
new_compare6(vyw28000, vyw29000, ty_Int) → new_compare8(vyw28000, vyw29000)
new_esEs12(Double(vyw300, vyw301), Double(vyw4000, vyw4001)) → new_esEs9(new_sr(vyw300, vyw4000), new_sr(vyw301, vyw4001))
new_esEs19(vyw300, vyw4000, ty_Ordering) → new_esEs14(vyw300, vyw4000)
new_primPlusNat1(Succ(vyw10000), Zero) → Succ(vyw10000)
new_primPlusNat1(Zero, Succ(vyw4001000)) → Succ(vyw4001000)
new_lt4(vyw28000, vyw29000, ty_Integer) → new_lt18(vyw28000, vyw29000)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Bool) → new_ltEs8(vyw28000, vyw29000)
new_compare25(Just(vyw2800), Nothing, False, beg) → GT
new_compare6(vyw28000, vyw29000, app(ty_Ratio, bbc)) → new_compare12(vyw28000, vyw29000, bbc)
new_esEs8(vyw28000, vyw29000, ty_@0) → new_esEs15(vyw28000, vyw29000)
new_esEs29(vyw30, vyw400, app(app(ty_Either, chh), cge)) → new_esEs5(vyw30, vyw400, chh, cge)
new_compare25(Nothing, Nothing, False, beg) → LT
new_ltEs8(True, True) → True
new_esEs26(vyw301, vyw4001, app(app(app(ty_@3, ddg), ddh), dea)) → new_esEs7(vyw301, vyw4001, ddg, ddh, dea)
new_esEs21(vyw302, vyw4002, ty_Ordering) → new_esEs14(vyw302, vyw4002)
new_esEs21(vyw302, vyw4002, ty_@0) → new_esEs15(vyw302, vyw4002)
new_ltEs13(LT, GT) → True
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, ty_Bool) → new_ltEs8(vyw28000, vyw29000)
new_esEs5(Left(vyw300), Left(vyw4000), app(app(app(ty_@3, che), chf), chg), cge) → new_esEs7(vyw300, vyw4000, che, chf, chg)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs24(vyw28001, vyw29001, ty_Bool) → new_esEs10(vyw28001, vyw29001)
new_ltEs7(Right(vyw28000), Left(vyw29000), bdc, bcb) → False
new_compare6(vyw28000, vyw29000, ty_Ordering) → new_compare14(vyw28000, vyw29000)
new_esEs30(vyw18, vyw13, app(app(app(ty_@3, cde), cdf), cdg)) → new_esEs7(vyw18, vyw13, cde, cdf, cdg)
new_esEs8(vyw28000, vyw29000, app(ty_Ratio, cc)) → new_esEs13(vyw28000, vyw29000, cc)
new_compare8(vyw2800, vyw2900) → new_primCmpInt(vyw2800, vyw2900)
new_primEqInt(Neg(Succ(vyw3000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(vyw40000))) → False
new_lt12(vyw28000, vyw29000, cd) → new_esEs14(new_compare13(vyw28000, vyw29000, cd), LT)
new_lt20(vyw28000, vyw29000, ty_Ordering) → new_lt13(vyw28000, vyw29000)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, app(ty_Ratio, bea)) → new_ltEs11(vyw28000, vyw29000, bea)
new_compare24(vyw28000, vyw29000, True, bf, bg) → EQ
new_lt4(vyw28000, vyw29000, ty_Bool) → new_lt8(vyw28000, vyw29000)
new_esEs10(False, False) → True
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, ty_Char) → new_ltEs17(vyw28000, vyw29000)
new_ltEs19(vyw2800, vyw2900, ty_Char) → new_ltEs17(vyw2800, vyw2900)
new_esEs5(Right(vyw300), Right(vyw4000), chh, ty_Int) → new_esEs9(vyw300, vyw4000)
new_esEs21(vyw302, vyw4002, ty_Integer) → new_esEs18(vyw302, vyw4002)
new_lt4(vyw28000, vyw29000, app(ty_Ratio, cc)) → new_lt11(vyw28000, vyw29000, cc)
new_ltEs7(Left(vyw28000), Left(vyw29000), app(app(ty_@2, bbh), bca), bcb) → new_ltEs4(vyw28000, vyw29000, bbh, bca)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_esEs5(Right(vyw300), Right(vyw4000), chh, ty_Bool) → new_esEs10(vyw300, vyw4000)
new_esEs5(Left(vyw300), Left(vyw4000), app(ty_[], chb), cge) → new_esEs11(vyw300, vyw4000, chb)
new_lt19(vyw28001, vyw29001, ty_Int) → new_lt6(vyw28001, vyw29001)
new_primCmpNat0(Succ(vyw280000), Succ(vyw290000)) → new_primCmpNat0(vyw280000, vyw290000)
new_esEs5(Right(vyw300), Right(vyw4000), chh, ty_Integer) → new_esEs18(vyw300, vyw4000)
new_esEs30(vyw18, vyw13, ty_@0) → new_esEs15(vyw18, vyw13)
new_esEs6(Nothing, Nothing, cfb) → True
new_esEs29(vyw30, vyw400, ty_Ordering) → new_esEs14(vyw30, vyw400)
new_ltEs13(GT, LT) → False
new_primEqInt(Pos(Succ(vyw3000)), Pos(Succ(vyw40000))) → new_primEqNat0(vyw3000, vyw40000)
new_compare27(vyw28000, vyw29000, True, bh, ca) → EQ
new_esEs21(vyw302, vyw4002, app(ty_Maybe, hd)) → new_esEs6(vyw302, vyw4002, hd)
new_ltEs13(EQ, EQ) → True
new_esEs23(vyw28000, vyw29000, ty_Char) → new_esEs17(vyw28000, vyw29000)
new_lt4(vyw28000, vyw29000, app(ty_Maybe, cd)) → new_lt12(vyw28000, vyw29000, cd)
new_ltEs17(vyw2800, vyw2900) → new_not(new_esEs14(new_compare18(vyw2800, vyw2900), GT))
new_esEs25(vyw300, vyw4000, ty_Int) → new_esEs9(vyw300, vyw4000)
new_esEs5(Right(vyw300), Right(vyw4000), chh, app(app(ty_Either, daf), dag)) → new_esEs5(vyw300, vyw4000, daf, dag)
new_esEs8(vyw28000, vyw29000, ty_Integer) → new_esEs18(vyw28000, vyw29000)
new_esEs6(Just(vyw300), Nothing, cfb) → False
new_esEs6(Nothing, Just(vyw4000), cfb) → False
new_primEqNat0(Succ(vyw3000), Succ(vyw40000)) → new_primEqNat0(vyw3000, vyw40000)
new_lt5(vyw28000, vyw29000, bf, bg) → new_esEs14(new_compare7(vyw28000, vyw29000, bf, bg), LT)
new_esEs30(vyw18, vyw13, ty_Integer) → new_esEs18(vyw18, vyw13)
new_primCompAux00(vyw109, LT) → LT
new_esEs26(vyw301, vyw4001, app(ty_[], ddd)) → new_esEs11(vyw301, vyw4001, ddd)
new_primCmpInt(Neg(Succ(vyw280000)), Neg(vyw29000)) → new_primCmpNat0(vyw29000, Succ(vyw280000))
new_ltEs19(vyw2800, vyw2900, app(app(ty_Either, bdc), bcb)) → new_ltEs7(vyw2800, vyw2900, bdc, bcb)
new_compare114(vyw28000, vyw29000, True, bh, ca) → LT
new_esEs26(vyw301, vyw4001, app(app(ty_@2, ddb), ddc)) → new_esEs4(vyw301, vyw4001, ddb, ddc)
new_compare115(vyw28000, vyw29000, True, ce, cf, cg) → LT
new_ltEs7(Left(vyw28000), Left(vyw29000), app(ty_[], bce), bcb) → new_ltEs9(vyw28000, vyw29000, bce)
new_lt19(vyw28001, vyw29001, app(app(ty_Either, cad), cae)) → new_lt7(vyw28001, vyw29001, cad, cae)
new_ltEs19(vyw2800, vyw2900, ty_Bool) → new_ltEs8(vyw2800, vyw2900)
new_primEqInt(Pos(Zero), Pos(Succ(vyw40000))) → False
new_primEqInt(Pos(Succ(vyw3000)), Pos(Zero)) → False
new_ltEs20(vyw28002, vyw29002, app(ty_Maybe, ccb)) → new_ltEs12(vyw28002, vyw29002, ccb)
new_lt4(vyw28000, vyw29000, app(ty_[], cb)) → new_lt9(vyw28000, vyw29000, cb)
new_esEs30(vyw18, vyw13, ty_Float) → new_esEs16(vyw18, vyw13)
new_lt13(vyw28000, vyw29000) → new_esEs14(new_compare14(vyw28000, vyw29000), LT)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(vyw280000), Zero) → GT
new_ltEs12(Just(vyw28000), Just(vyw29000), app(app(ty_@2, cdh), cea)) → new_ltEs4(vyw28000, vyw29000, cdh, cea)
new_compare9(vyw28000, vyw29000, bh, ca) → new_compare27(vyw28000, vyw29000, new_esEs5(vyw28000, vyw29000, bh, ca), bh, ca)
new_esEs24(vyw28001, vyw29001, ty_@0) → new_esEs15(vyw28001, vyw29001)
new_primCmpInt(Neg(Zero), Pos(Succ(vyw290000))) → LT
new_esEs20(vyw301, vyw4001, app(app(ty_Either, gf), gg)) → new_esEs5(vyw301, vyw4001, gf, gg)
new_esEs22(vyw300, vyw4000, app(ty_Ratio, bff)) → new_esEs13(vyw300, vyw4000, bff)
new_sr0(Integer(vyw280000), Integer(vyw290010)) → Integer(new_primMulInt(vyw280000, vyw290010))
new_lt4(vyw28000, vyw29000, app(app(ty_@2, bf), bg)) → new_lt5(vyw28000, vyw29000, bf, bg)
new_primPlusNat1(Succ(vyw10000), Succ(vyw4001000)) → Succ(Succ(new_primPlusNat1(vyw10000, vyw4001000)))
new_ltEs11(vyw2800, vyw2900, beh) → new_not(new_esEs14(new_compare12(vyw2800, vyw2900, beh), GT))
new_primEqInt(Neg(Succ(vyw3000)), Pos(vyw4000)) → False
new_primEqInt(Pos(Succ(vyw3000)), Neg(vyw4000)) → False
new_esEs24(vyw28001, vyw29001, app(ty_Ratio, cag)) → new_esEs13(vyw28001, vyw29001, cag)
new_ltEs12(Just(vyw28000), Just(vyw29000), app(ty_Maybe, cef)) → new_ltEs12(vyw28000, vyw29000, cef)
new_esEs24(vyw28001, vyw29001, app(app(ty_@2, cab), cac)) → new_esEs4(vyw28001, vyw29001, cab, cac)
new_esEs5(Right(vyw300), Right(vyw4000), chh, ty_Ordering) → new_esEs14(vyw300, vyw4000)
new_compare6(vyw28000, vyw29000, app(app(ty_Either, bah), bba)) → new_compare9(vyw28000, vyw29000, bah, bba)
new_esEs8(vyw28000, vyw29000, app(app(ty_Either, bh), ca)) → new_esEs5(vyw28000, vyw29000, bh, ca)
new_ltEs19(vyw2800, vyw2900, ty_@0) → new_ltEs15(vyw2800, vyw2900)
new_ltEs20(vyw28002, vyw29002, ty_Double) → new_ltEs10(vyw28002, vyw29002)
new_esEs11([], :(vyw4000, vyw4001), bfe) → False
new_esEs11(:(vyw300, vyw301), [], bfe) → False
new_ltEs20(vyw28002, vyw29002, ty_Integer) → new_ltEs18(vyw28002, vyw29002)
new_esEs26(vyw301, vyw4001, ty_Int) → new_esEs9(vyw301, vyw4001)
new_esEs8(vyw28000, vyw29000, ty_Char) → new_esEs17(vyw28000, vyw29000)
new_primEqInt(Pos(Zero), Neg(Succ(vyw40000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(vyw40000))) → False
new_esEs4(@2(vyw300, vyw301), @2(vyw4000, vyw4001), dbd, dbe) → new_asAs(new_esEs25(vyw300, vyw4000, dbd), new_esEs26(vyw301, vyw4001, dbe))
new_esEs5(Left(vyw300), Left(vyw4000), app(app(ty_@2, cgh), cha), cge) → new_esEs4(vyw300, vyw4000, cgh, cha)
new_esEs22(vyw300, vyw4000, app(ty_[], bgb)) → new_esEs11(vyw300, vyw4000, bgb)
new_compare23(vyw28000, vyw29000, False) → new_compare111(vyw28000, vyw29000, new_ltEs8(vyw28000, vyw29000))
new_primCmpInt(Pos(Zero), Pos(Succ(vyw290000))) → new_primCmpNat0(Zero, Succ(vyw290000))
new_primCompAux00(vyw109, EQ) → vyw109
new_esEs20(vyw301, vyw4001, ty_Bool) → new_esEs10(vyw301, vyw4001)
new_compare7(vyw28000, vyw29000, bf, bg) → new_compare24(vyw28000, vyw29000, new_esEs4(vyw28000, vyw29000, bf, bg), bf, bg)
new_ltEs13(GT, EQ) → False
new_esEs24(vyw28001, vyw29001, ty_Ordering) → new_esEs14(vyw28001, vyw29001)
new_compare25(Nothing, Just(vyw2900), False, beg) → LT
new_ltEs13(EQ, LT) → False
new_esEs29(vyw30, vyw400, ty_Double) → new_esEs12(vyw30, vyw400)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Int) → new_esEs9(vyw300, vyw4000)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Bool) → new_esEs10(vyw300, vyw4000)
new_esEs25(vyw300, vyw4000, ty_Bool) → new_esEs10(vyw300, vyw4000)
new_esEs26(vyw301, vyw4001, ty_Float) → new_esEs16(vyw301, vyw4001)
new_compare6(vyw28000, vyw29000, ty_Double) → new_compare11(vyw28000, vyw29000)
new_ltEs8(True, False) → False
new_esEs24(vyw28001, vyw29001, ty_Integer) → new_esEs18(vyw28001, vyw29001)
new_compare113(vyw28000, vyw29000, True) → LT
new_not(False) → True
new_esEs22(vyw300, vyw4000, ty_Ordering) → new_esEs14(vyw300, vyw4000)
new_compare6(vyw28000, vyw29000, ty_Char) → new_compare18(vyw28000, vyw29000)
new_compare114(vyw28000, vyw29000, False, bh, ca) → GT
new_lt20(vyw28000, vyw29000, ty_Bool) → new_lt8(vyw28000, vyw29000)
new_esEs30(vyw18, vyw13, ty_Double) → new_esEs12(vyw18, vyw13)
new_esEs8(vyw28000, vyw29000, app(ty_Maybe, cd)) → new_esEs6(vyw28000, vyw29000, cd)
new_primCmpInt(Pos(Succ(vyw280000)), Pos(vyw29000)) → new_primCmpNat0(Succ(vyw280000), vyw29000)
new_ltEs20(vyw28002, vyw29002, ty_Ordering) → new_ltEs13(vyw28002, vyw29002)
new_esEs23(vyw28000, vyw29000, ty_@0) → new_esEs15(vyw28000, vyw29000)
new_primPlusNat0(Zero, vyw400100) → Succ(vyw400100)
new_ltEs5(vyw28001, vyw29001, app(ty_Ratio, df)) → new_ltEs11(vyw28001, vyw29001, df)
new_esEs8(vyw28000, vyw29000, app(ty_[], cb)) → new_esEs11(vyw28000, vyw29000, cb)
new_esEs19(vyw300, vyw4000, ty_Char) → new_esEs17(vyw300, vyw4000)
new_compare113(vyw28000, vyw29000, False) → GT
new_esEs19(vyw300, vyw4000, ty_Double) → new_esEs12(vyw300, vyw4000)
new_ltEs19(vyw2800, vyw2900, ty_Int) → new_ltEs6(vyw2800, vyw2900)
new_esEs25(vyw300, vyw4000, ty_@0) → new_esEs15(vyw300, vyw4000)
new_esEs20(vyw301, vyw4001, app(ty_[], ge)) → new_esEs11(vyw301, vyw4001, ge)
new_compare0(:(vyw28000, vyw28001), [], bae) → GT
new_lt20(vyw28000, vyw29000, ty_Int) → new_lt6(vyw28000, vyw29000)
new_compare28(vyw28000, vyw29000, True) → EQ
new_esEs26(vyw301, vyw4001, app(app(ty_Either, dde), ddf)) → new_esEs5(vyw301, vyw4001, dde, ddf)
new_lt8(vyw28000, vyw29000) → new_esEs14(new_compare10(vyw28000, vyw29000), LT)
new_primCmpInt(Pos(Succ(vyw280000)), Neg(vyw29000)) → GT
new_esEs22(vyw300, vyw4000, app(app(app(ty_@3, bge), bgf), bgg)) → new_esEs7(vyw300, vyw4000, bge, bgf, bgg)
new_esEs8(vyw28000, vyw29000, app(app(app(ty_@3, ce), cf), cg)) → new_esEs7(vyw28000, vyw29000, ce, cf, cg)
new_ltEs12(Just(vyw28000), Just(vyw29000), app(app(ty_Either, ceb), cec)) → new_ltEs7(vyw28000, vyw29000, ceb, cec)
new_lt19(vyw28001, vyw29001, ty_Char) → new_lt17(vyw28001, vyw29001)
new_lt19(vyw28001, vyw29001, app(app(app(ty_@3, cba), cbb), cbc)) → new_lt14(vyw28001, vyw29001, cba, cbb, cbc)
new_compare115(vyw28000, vyw29000, False, ce, cf, cg) → GT
new_lt19(vyw28001, vyw29001, ty_Float) → new_lt16(vyw28001, vyw29001)
new_primMulInt(Pos(vyw3010), Pos(vyw40010)) → Pos(new_primMulNat0(vyw3010, vyw40010))
new_esEs21(vyw302, vyw4002, app(app(ty_@2, he), hf)) → new_esEs4(vyw302, vyw4002, he, hf)
new_lt4(vyw28000, vyw29000, ty_@0) → new_lt15(vyw28000, vyw29000)
new_compare19(Integer(vyw28000), Integer(vyw29000)) → new_primCmpInt(vyw28000, vyw29000)
new_esEs10(True, True) → True
new_esEs30(vyw18, vyw13, ty_Ordering) → new_esEs14(vyw18, vyw13)
new_esEs5(Right(vyw300), Left(vyw4000), chh, cge) → False
new_esEs5(Left(vyw300), Right(vyw4000), chh, cge) → False
new_lt4(vyw28000, vyw29000, ty_Float) → new_lt16(vyw28000, vyw29000)
new_primMulInt(Neg(vyw3010), Neg(vyw40010)) → Pos(new_primMulNat0(vyw3010, vyw40010))
new_ltEs5(vyw28001, vyw29001, app(ty_Maybe, dg)) → new_ltEs12(vyw28001, vyw29001, dg)
new_ltEs8(False, False) → True
new_primEqNat0(Succ(vyw3000), Zero) → False
new_primEqNat0(Zero, Succ(vyw40000)) → False
new_esEs21(vyw302, vyw4002, ty_Int) → new_esEs9(vyw302, vyw4002)
new_ltEs19(vyw2800, vyw2900, app(app(app(ty_@3, bfb), bfc), bfd)) → new_ltEs14(vyw2800, vyw2900, bfb, bfc, bfd)
new_ltEs7(Left(vyw28000), Left(vyw29000), app(app(ty_Either, bcc), bcd), bcb) → new_ltEs7(vyw28000, vyw29000, bcc, bcd)
new_esEs25(vyw300, vyw4000, app(ty_Maybe, dbg)) → new_esEs6(vyw300, vyw4000, dbg)
new_esEs20(vyw301, vyw4001, ty_@0) → new_esEs15(vyw301, vyw4001)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_ltEs16(vyw2800, vyw2900) → new_not(new_esEs14(new_compare17(vyw2800, vyw2900), GT))
new_esEs25(vyw300, vyw4000, app(ty_[], dcb)) → new_esEs11(vyw300, vyw4000, dcb)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, app(app(app(ty_@3, bec), bed), bee)) → new_ltEs14(vyw28000, vyw29000, bec, bed, bee)
new_esEs22(vyw300, vyw4000, ty_Int) → new_esEs9(vyw300, vyw4000)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, app(ty_Maybe, beb)) → new_ltEs12(vyw28000, vyw29000, beb)
new_esEs26(vyw301, vyw4001, ty_Ordering) → new_esEs14(vyw301, vyw4001)
new_ltEs5(vyw28001, vyw29001, ty_Int) → new_ltEs6(vyw28001, vyw29001)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Char, bcb) → new_ltEs17(vyw28000, vyw29000)
new_esEs24(vyw28001, vyw29001, ty_Int) → new_esEs9(vyw28001, vyw29001)
new_lt4(vyw28000, vyw29000, ty_Int) → new_lt6(vyw28000, vyw29000)
new_esEs14(LT, EQ) → False
new_esEs14(EQ, LT) → False
new_esEs21(vyw302, vyw4002, ty_Char) → new_esEs17(vyw302, vyw4002)
new_primCmpInt(Neg(Zero), Neg(Succ(vyw290000))) → new_primCmpNat0(Succ(vyw290000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(vyw290000))) → GT
new_lt20(vyw28000, vyw29000, ty_Float) → new_lt16(vyw28000, vyw29000)
new_esEs29(vyw30, vyw400, ty_@0) → new_esEs15(vyw30, vyw400)
new_esEs5(Right(vyw300), Right(vyw4000), chh, app(app(app(ty_@3, dah), dba), dbb)) → new_esEs7(vyw300, vyw4000, dah, dba, dbb)
new_esEs27(vyw300, vyw4000, ty_Int) → new_esEs9(vyw300, vyw4000)
new_esEs5(Left(vyw300), Left(vyw4000), ty_Integer, cge) → new_esEs18(vyw300, vyw4000)
new_esEs23(vyw28000, vyw29000, app(ty_[], bhd)) → new_esEs11(vyw28000, vyw29000, bhd)
new_compare26(vyw28000, vyw29000, False, ce, cf, cg) → new_compare115(vyw28000, vyw29000, new_ltEs14(vyw28000, vyw29000, ce, cf, cg), ce, cf, cg)
new_esEs6(Just(vyw300), Just(vyw4000), app(app(ty_Either, cfh), cga)) → new_esEs5(vyw300, vyw4000, cfh, cga)
new_lt4(vyw28000, vyw29000, ty_Ordering) → new_lt13(vyw28000, vyw29000)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Double, bcb) → new_ltEs10(vyw28000, vyw29000)
new_ltEs9(vyw2800, vyw2900, bae) → new_not(new_esEs14(new_compare0(vyw2800, vyw2900, bae), GT))
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Ordering, bcb) → new_ltEs13(vyw28000, vyw29000)
new_esEs29(vyw30, vyw400, ty_Bool) → new_esEs10(vyw30, vyw400)
new_esEs14(EQ, GT) → False
new_esEs14(GT, EQ) → False
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs24(vyw28001, vyw29001, app(app(app(ty_@3, cba), cbb), cbc)) → new_esEs7(vyw28001, vyw29001, cba, cbb, cbc)
new_compare17(Float(vyw28000, vyw28001), Float(vyw29000, vyw29001)) → new_compare8(new_sr(vyw28000, vyw29000), new_sr(vyw28001, vyw29001))
new_esEs5(Left(vyw300), Left(vyw4000), ty_Bool, cge) → new_esEs10(vyw300, vyw4000)
new_esEs20(vyw301, vyw4001, app(ty_Maybe, gb)) → new_esEs6(vyw301, vyw4001, gb)
new_compare13(vyw28000, vyw29000, cd) → new_compare25(vyw28000, vyw29000, new_esEs6(vyw28000, vyw29000, cd), cd)
new_lt19(vyw28001, vyw29001, ty_Ordering) → new_lt13(vyw28001, vyw29001)
new_ltEs13(GT, GT) → True
new_esEs24(vyw28001, vyw29001, ty_Double) → new_esEs12(vyw28001, vyw29001)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, app(app(ty_Either, bdf), bdg)) → new_ltEs7(vyw28000, vyw29000, bdf, bdg)
new_esEs15(@0, @0) → True
new_lt17(vyw28000, vyw29000) → new_esEs14(new_compare18(vyw28000, vyw29000), LT)
new_esEs13(:%(vyw300, vyw301), :%(vyw4000, vyw4001), dbc) → new_asAs(new_esEs27(vyw300, vyw4000, dbc), new_esEs28(vyw301, vyw4001, dbc))
new_asAs(False, vyw91) → False
new_esEs22(vyw300, vyw4000, ty_Double) → new_esEs12(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Integer) → new_ltEs18(vyw28000, vyw29000)
new_primMulInt(Pos(vyw3010), Neg(vyw40010)) → Neg(new_primMulNat0(vyw3010, vyw40010))
new_primMulInt(Neg(vyw3010), Pos(vyw40010)) → Neg(new_primMulNat0(vyw3010, vyw40010))
new_esEs6(Just(vyw300), Just(vyw4000), app(ty_[], cfg)) → new_esEs11(vyw300, vyw4000, cfg)
new_esEs22(vyw300, vyw4000, ty_Integer) → new_esEs18(vyw300, vyw4000)
new_primMulNat0(Succ(vyw30100), Zero) → Zero
new_primMulNat0(Zero, Succ(vyw400100)) → Zero
new_esEs21(vyw302, vyw4002, app(app(ty_Either, hh), baa)) → new_esEs5(vyw302, vyw4002, hh, baa)
new_esEs6(Just(vyw300), Just(vyw4000), app(ty_Maybe, cfd)) → new_esEs6(vyw300, vyw4000, cfd)
new_esEs19(vyw300, vyw4000, app(ty_[], fb)) → new_esEs11(vyw300, vyw4000, fb)
new_esEs23(vyw28000, vyw29000, ty_Int) → new_esEs9(vyw28000, vyw29000)
new_esEs29(vyw30, vyw400, ty_Char) → new_esEs17(vyw30, vyw400)
new_esEs30(vyw18, vyw13, app(ty_Ratio, ccf)) → new_esEs13(vyw18, vyw13, ccf)
new_esEs27(vyw300, vyw4000, ty_Integer) → new_esEs18(vyw300, vyw4000)
new_esEs20(vyw301, vyw4001, ty_Float) → new_esEs16(vyw301, vyw4001)
new_esEs18(Integer(vyw300), Integer(vyw4000)) → new_primEqInt(vyw300, vyw4000)
new_esEs6(Just(vyw300), Just(vyw4000), app(app(ty_@2, cfe), cff)) → new_esEs4(vyw300, vyw4000, cfe, cff)
new_lt19(vyw28001, vyw29001, app(ty_Maybe, cah)) → new_lt12(vyw28001, vyw29001, cah)
new_esEs23(vyw28000, vyw29000, app(ty_Maybe, bhf)) → new_esEs6(vyw28000, vyw29000, bhf)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Float, bcb) → new_ltEs16(vyw28000, vyw29000)
new_lt4(vyw28000, vyw29000, app(app(app(ty_@3, ce), cf), cg)) → new_lt14(vyw28000, vyw29000, ce, cf, cg)
new_esEs8(vyw28000, vyw29000, ty_Bool) → new_esEs10(vyw28000, vyw29000)
new_ltEs12(Nothing, Just(vyw29000), bfa) → True
new_ltEs7(Left(vyw28000), Left(vyw29000), app(ty_Maybe, bcg), bcb) → new_ltEs12(vyw28000, vyw29000, bcg)
new_esEs14(GT, GT) → True
new_esEs8(vyw28000, vyw29000, ty_Ordering) → new_esEs14(vyw28000, vyw29000)
new_esEs20(vyw301, vyw4001, app(app(ty_@2, gc), gd)) → new_esEs4(vyw301, vyw4001, gc, gd)
new_ltEs7(Left(vyw28000), Left(vyw29000), app(app(app(ty_@3, bch), bda), bdb), bcb) → new_ltEs14(vyw28000, vyw29000, bch, bda, bdb)
new_esEs30(vyw18, vyw13, app(app(ty_Either, cdc), cdd)) → new_esEs5(vyw18, vyw13, cdc, cdd)
new_esEs23(vyw28000, vyw29000, ty_Bool) → new_esEs10(vyw28000, vyw29000)
new_esEs5(Left(vyw300), Left(vyw4000), ty_@0, cge) → new_esEs15(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Ordering) → new_ltEs13(vyw28000, vyw29000)
new_esEs5(Right(vyw300), Right(vyw4000), chh, app(ty_Maybe, dab)) → new_esEs6(vyw300, vyw4000, dab)
new_esEs22(vyw300, vyw4000, ty_Float) → new_esEs16(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), app(app(app(ty_@3, ceg), ceh), cfa)) → new_ltEs14(vyw28000, vyw29000, ceg, ceh, cfa)
new_esEs25(vyw300, vyw4000, app(app(app(ty_@3, dce), dcf), dcg)) → new_esEs7(vyw300, vyw4000, dce, dcf, dcg)
new_ltEs20(vyw28002, vyw29002, app(app(ty_Either, cbf), cbg)) → new_ltEs7(vyw28002, vyw29002, cbf, cbg)
new_compare12(:%(vyw28000, vyw28001), :%(vyw29000, vyw29001), ty_Int) → new_compare8(new_sr(vyw28000, vyw29001), new_sr(vyw29000, vyw28001))
new_compare25(Just(vyw2800), Just(vyw2900), False, beg) → new_compare112(vyw2800, vyw2900, new_ltEs19(vyw2800, vyw2900, beg), beg)
new_esEs30(vyw18, vyw13, ty_Bool) → new_esEs10(vyw18, vyw13)
new_esEs26(vyw301, vyw4001, ty_Integer) → new_esEs18(vyw301, vyw4001)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Char) → new_ltEs17(vyw28000, vyw29000)
new_esEs5(Left(vyw300), Left(vyw4000), app(app(ty_Either, chc), chd), cge) → new_esEs5(vyw300, vyw4000, chc, chd)
new_compare18(Char(vyw28000), Char(vyw29000)) → new_primCmpNat0(vyw28000, vyw29000)
new_ltEs5(vyw28001, vyw29001, ty_Double) → new_ltEs10(vyw28001, vyw29001)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Float) → new_esEs16(vyw300, vyw4000)
new_esEs21(vyw302, vyw4002, ty_Double) → new_esEs12(vyw302, vyw4002)
new_esEs21(vyw302, vyw4002, app(ty_[], hg)) → new_esEs11(vyw302, vyw4002, hg)
new_esEs28(vyw301, vyw4001, ty_Int) → new_esEs9(vyw301, vyw4001)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Integer) → new_esEs18(vyw300, vyw4000)
new_compare112(vyw84, vyw85, False, bef) → GT
new_esEs30(vyw18, vyw13, ty_Char) → new_esEs17(vyw18, vyw13)
new_ltEs13(LT, LT) → True
new_esEs23(vyw28000, vyw29000, ty_Double) → new_esEs12(vyw28000, vyw29000)
new_esEs20(vyw301, vyw4001, ty_Char) → new_esEs17(vyw301, vyw4001)
new_compare26(vyw28000, vyw29000, True, ce, cf, cg) → EQ
new_esEs6(Just(vyw300), Just(vyw4000), ty_@0) → new_esEs15(vyw300, vyw4000)
new_lt7(vyw28000, vyw29000, bh, ca) → new_esEs14(new_compare9(vyw28000, vyw29000, bh, ca), LT)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Integer, bcb) → new_ltEs18(vyw28000, vyw29000)
new_compare0([], :(vyw29000, vyw29001), bae) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_ltEs5(vyw28001, vyw29001, app(app(ty_Either, dc), dd)) → new_ltEs7(vyw28001, vyw29001, dc, dd)
new_esEs24(vyw28001, vyw29001, ty_Float) → new_esEs16(vyw28001, vyw29001)
new_asAs(True, vyw91) → vyw91
new_esEs5(Right(vyw300), Right(vyw4000), chh, ty_Double) → new_esEs12(vyw300, vyw4000)
new_ltEs5(vyw28001, vyw29001, ty_Float) → new_ltEs16(vyw28001, vyw29001)
new_primMulNat0(Succ(vyw30100), Succ(vyw400100)) → new_primPlusNat0(new_primMulNat0(vyw30100, Succ(vyw400100)), vyw400100)
new_ltEs5(vyw28001, vyw29001, ty_Integer) → new_ltEs18(vyw28001, vyw29001)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, ty_Ordering) → new_ltEs13(vyw28000, vyw29000)
new_esEs10(False, True) → False
new_esEs10(True, False) → False
new_esEs14(LT, LT) → True
new_ltEs12(Just(vyw28000), Nothing, bfa) → False
new_lt16(vyw28000, vyw29000) → new_esEs14(new_compare17(vyw28000, vyw29000), LT)
new_esEs5(Left(vyw300), Left(vyw4000), ty_Float, cge) → new_esEs16(vyw300, vyw4000)
new_esEs29(vyw30, vyw400, ty_Integer) → new_esEs18(vyw30, vyw400)
new_esEs20(vyw301, vyw4001, ty_Integer) → new_esEs18(vyw301, vyw4001)
new_compare6(vyw28000, vyw29000, app(ty_Maybe, bbd)) → new_compare13(vyw28000, vyw29000, bbd)
new_esEs25(vyw300, vyw4000, ty_Ordering) → new_esEs14(vyw300, vyw4000)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, ty_Float) → new_ltEs16(vyw28000, vyw29000)
new_esEs9(vyw30, vyw400) → new_primEqInt(vyw30, vyw400)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Bool, bcb) → new_ltEs8(vyw28000, vyw29000)
new_esEs24(vyw28001, vyw29001, app(ty_Maybe, cah)) → new_esEs6(vyw28001, vyw29001, cah)
new_esEs21(vyw302, vyw4002, ty_Bool) → new_esEs10(vyw302, vyw4002)
new_ltEs20(vyw28002, vyw29002, ty_Int) → new_ltEs6(vyw28002, vyw29002)
new_lt10(vyw28000, vyw29000) → new_esEs14(new_compare11(vyw28000, vyw29000), LT)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, ty_Integer) → new_ltEs18(vyw28000, vyw29000)
new_esEs19(vyw300, vyw4000, ty_Integer) → new_esEs18(vyw300, vyw4000)
new_ltEs5(vyw28001, vyw29001, ty_@0) → new_ltEs15(vyw28001, vyw29001)
new_esEs22(vyw300, vyw4000, app(app(ty_Either, bgc), bgd)) → new_esEs5(vyw300, vyw4000, bgc, bgd)
new_lt20(vyw28000, vyw29000, ty_Double) → new_lt10(vyw28000, vyw29000)
new_primCompAux00(vyw109, GT) → GT
new_esEs21(vyw302, vyw4002, ty_Float) → new_esEs16(vyw302, vyw4002)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs19(vyw300, vyw4000, app(app(ty_@2, eh), fa)) → new_esEs4(vyw300, vyw4000, eh, fa)
new_ltEs10(vyw2800, vyw2900) → new_not(new_esEs14(new_compare11(vyw2800, vyw2900), GT))
new_lt20(vyw28000, vyw29000, app(ty_Maybe, bhf)) → new_lt12(vyw28000, vyw29000, bhf)
new_esEs5(Right(vyw300), Right(vyw4000), chh, app(ty_Ratio, daa)) → new_esEs13(vyw300, vyw4000, daa)
new_ltEs20(vyw28002, vyw29002, ty_Char) → new_ltEs17(vyw28002, vyw29002)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_esEs30(vyw18, vyw13, app(app(ty_@2, cch), cda)) → new_esEs4(vyw18, vyw13, cch, cda)
new_primCmpInt(Neg(Succ(vyw280000)), Pos(vyw29000)) → LT
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, ty_Int) → new_ltEs6(vyw28000, vyw29000)
new_compare11(Double(vyw28000, vyw28001), Double(vyw29000, vyw29001)) → new_compare8(new_sr(vyw28000, vyw29000), new_sr(vyw28001, vyw29001))
new_compare15(vyw28000, vyw29000, ce, cf, cg) → new_compare26(vyw28000, vyw29000, new_esEs7(vyw28000, vyw29000, ce, cf, cg), ce, cf, cg)
new_not(True) → False
new_ltEs19(vyw2800, vyw2900, ty_Ordering) → new_ltEs13(vyw2800, vyw2900)
new_esEs5(Left(vyw300), Left(vyw4000), ty_Char, cge) → new_esEs17(vyw300, vyw4000)
new_ltEs4(@2(vyw28000, vyw28001), @2(vyw29000, vyw29001), bd, be) → new_pePe(new_lt4(vyw28000, vyw29000, bd), new_asAs(new_esEs8(vyw28000, vyw29000, bd), new_ltEs5(vyw28001, vyw29001, be)))
new_compare6(vyw28000, vyw29000, app(app(ty_@2, baf), bag)) → new_compare7(vyw28000, vyw29000, baf, bag)

The set Q consists of the following terms:

new_compare6(x0, x1, app(app(ty_@2, x2), x3))
new_pePe(True, x0)
new_ltEs7(Left(x0), Left(x1), ty_Char, x2)
new_compare114(x0, x1, True, x2, x3)
new_esEs21(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(ty_[], x2))
new_compare6(x0, x1, ty_Bool)
new_ltEs20(x0, x1, ty_@0)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_ltEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Char)
new_esEs5(Right(x0), Right(x1), x2, ty_Int)
new_esEs14(EQ, GT)
new_esEs14(GT, EQ)
new_compare24(x0, x1, True, x2, x3)
new_ltEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs21(x0, x1, ty_Float)
new_esEs20(x0, x1, ty_Float)
new_ltEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primPlusNat1(Succ(x0), Succ(x1))
new_compare6(x0, x1, ty_Float)
new_esEs24(x0, x1, ty_Char)
new_ltEs15(x0, x1)
new_pePe(False, x0)
new_esEs8(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt4(x0, x1, ty_Integer)
new_lt4(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Float)
new_compare110(x0, x1, False, x2, x3)
new_esEs23(x0, x1, ty_Double)
new_esEs24(x0, x1, ty_Bool)
new_esEs9(x0, x1)
new_esEs20(x0, x1, ty_Integer)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Int)
new_compare25(Just(x0), Just(x1), False, x2)
new_esEs28(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Char)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_ltEs12(Just(x0), Nothing, x1)
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt4(x0, x1, app(ty_Maybe, x2))
new_esEs22(x0, x1, ty_Ordering)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_compare6(x0, x1, ty_Double)
new_ltEs18(x0, x1)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs25(x0, x1, ty_Float)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_lt9(x0, x1, x2)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, ty_@0)
new_esEs24(x0, x1, ty_Int)
new_ltEs7(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs8(True, True)
new_primCmpNat0(Succ(x0), Succ(x1))
new_ltEs19(x0, x1, ty_Int)
new_esEs6(Just(x0), Just(x1), app(ty_[], x2))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs30(x0, x1, ty_Integer)
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Ordering)
new_esEs6(Just(x0), Nothing, x1)
new_lt20(x0, x1, ty_Char)
new_compare13(x0, x1, x2)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_esEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Int)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(Just(x0), Just(x1), ty_Char)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare28(x0, x1, True)
new_ltEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs11([], :(x0, x1), x2)
new_ltEs12(Just(x0), Just(x1), ty_@0)
new_esEs14(LT, GT)
new_esEs14(GT, LT)
new_lt19(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_asAs(True, x0)
new_esEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_ltEs5(x0, x1, ty_Double)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primEqNat0(Zero, Zero)
new_esEs25(x0, x1, ty_Int)
new_esEs29(x0, x1, ty_@0)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, ty_Bool)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare111(x0, x1, False)
new_primEqNat0(Succ(x0), Zero)
new_ltEs13(EQ, EQ)
new_lt20(x0, x1, app(ty_[], x2))
new_ltEs7(Right(x0), Right(x1), x2, ty_Double)
new_lt19(x0, x1, app(ty_[], x2))
new_esEs19(x0, x1, ty_Bool)
new_compare6(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs27(x0, x1, ty_Int)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_@0)
new_ltEs10(x0, x1)
new_lt8(x0, x1)
new_primMulNat0(Zero, Zero)
new_lt13(x0, x1)
new_compare113(x0, x1, True)
new_esEs29(x0, x1, ty_Int)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs10(False, True)
new_esEs10(True, False)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_lt5(x0, x1, x2, x3)
new_esEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primMulNat0(Zero, Succ(x0))
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Bool)
new_esEs22(x0, x1, ty_Float)
new_esEs20(x0, x1, ty_Int)
new_esEs6(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs5(Right(x0), Right(x1), x2, ty_Float)
new_ltEs13(LT, EQ)
new_ltEs13(EQ, LT)
new_primPlusNat0(Succ(x0), x1)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs5(Left(x0), Left(x1), ty_Integer, x2)
new_esEs19(x0, x1, ty_Integer)
new_esEs22(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Integer)
new_esEs19(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), ty_Bool)
new_esEs26(x0, x1, ty_@0)
new_esEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_compare15(x0, x1, x2, x3, x4)
new_ltEs9(x0, x1, x2)
new_sr(x0, x1)
new_primCmpNat0(Zero, Succ(x0))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_esEs30(x0, x1, ty_Double)
new_esEs24(x0, x1, app(ty_[], x2))
new_lt4(x0, x1, ty_Double)
new_primEqNat0(Zero, Succ(x0))
new_esEs23(x0, x1, ty_Bool)
new_esEs30(x0, x1, ty_@0)
new_asAs(False, x0)
new_esEs24(x0, x1, ty_Double)
new_esEs29(x0, x1, ty_Integer)
new_compare0(:(x0, x1), [], x2)
new_ltEs6(x0, x1)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, ty_Ordering)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs24(x0, x1, ty_Integer)
new_esEs8(x0, x1, ty_Char)
new_compare27(x0, x1, True, x2, x3)
new_esEs20(x0, x1, ty_@0)
new_esEs6(Nothing, Nothing, x0)
new_compare28(x0, x1, False)
new_esEs22(x0, x1, ty_@0)
new_esEs6(Just(x0), Just(x1), ty_Bool)
new_lt4(x0, x1, ty_Int)
new_ltEs7(Left(x0), Right(x1), x2, x3)
new_ltEs7(Right(x0), Left(x1), x2, x3)
new_compare26(x0, x1, True, x2, x3, x4)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_compare16(@0, @0)
new_esEs5(Right(x0), Right(x1), x2, ty_Char)
new_ltEs19(x0, x1, ty_Bool)
new_esEs6(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs12(Double(x0, x1), Double(x2, x3))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_compare17(Float(x0, x1), Float(x2, x3))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, ty_Float)
new_esEs6(Just(x0), Just(x1), ty_@0)
new_esEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs12(Just(x0), Just(x1), ty_Double)
new_ltEs5(x0, x1, ty_Integer)
new_ltEs14(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_primPlusNat1(Zero, Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs14(LT, LT)
new_esEs10(True, True)
new_esEs24(x0, x1, ty_Float)
new_esEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs19(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Double)
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Integer)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, app(ty_[], x2))
new_ltEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs30(x0, x1, ty_Int)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_lt19(x0, x1, ty_@0)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare113(x0, x1, False)
new_compare6(x0, x1, ty_Integer)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11([], [], x0)
new_esEs8(x0, x1, ty_@0)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs6(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_primCompAux0(x0, x1, x2, x3)
new_esEs5(Right(x0), Right(x1), x2, ty_Double)
new_ltEs5(x0, x1, ty_Char)
new_ltEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_lt19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(x0, x1)
new_esEs22(x0, x1, ty_Bool)
new_esEs27(x0, x1, ty_Integer)
new_ltEs7(Left(x0), Left(x1), ty_Int, x2)
new_esEs29(x0, x1, ty_Float)
new_esEs8(x0, x1, ty_Double)
new_lt20(x0, x1, ty_Integer)
new_ltEs13(EQ, GT)
new_ltEs13(GT, EQ)
new_esEs26(x0, x1, ty_Double)
new_esEs6(Just(x0), Just(x1), ty_Float)
new_ltEs5(x0, x1, app(ty_Maybe, x2))
new_ltEs7(Left(x0), Left(x1), ty_Float, x2)
new_lt12(x0, x1, x2)
new_esEs11(:(x0, x1), :(x2, x3), x4)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs5(x0, x1, app(ty_Ratio, x2))
new_ltEs7(Left(x0), Left(x1), ty_Double, x2)
new_ltEs8(False, False)
new_lt20(x0, x1, ty_Double)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(x0, x1, ty_Int)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_ltEs19(x0, x1, ty_Float)
new_ltEs7(Right(x0), Right(x1), x2, ty_Float)
new_ltEs19(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, ty_Char)
new_esEs8(x0, x1, ty_Int)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Pos(Zero))
new_esEs8(x0, x1, ty_Float)
new_esEs23(x0, x1, app(ty_[], x2))
new_ltEs8(False, True)
new_ltEs8(True, False)
new_ltEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_ltEs7(Right(x0), Right(x1), x2, ty_Char)
new_lt4(x0, x1, ty_Bool)
new_compare115(x0, x1, True, x2, x3, x4)
new_ltEs12(Just(x0), Just(x1), ty_Int)
new_compare19(Integer(x0), Integer(x1))
new_esEs25(x0, x1, ty_Char)
new_compare9(x0, x1, x2, x3)
new_lt18(x0, x1)
new_ltEs13(LT, GT)
new_ltEs13(GT, LT)
new_primCompAux00(x0, EQ)
new_esEs21(x0, x1, ty_Double)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs6(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Zero), Neg(Zero))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_sr0(Integer(x0), Integer(x1))
new_compare110(x0, x1, True, x2, x3)
new_ltEs19(x0, x1, ty_Char)
new_lt4(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, ty_Double)
new_compare18(Char(x0), Char(x1))
new_esEs8(x0, x1, ty_Bool)
new_ltEs5(x0, x1, ty_Bool)
new_esEs6(Just(x0), Just(x1), ty_Ordering)
new_esEs20(x0, x1, ty_Bool)
new_esEs6(Just(x0), Just(x1), ty_Integer)
new_compare8(x0, x1)
new_compare7(x0, x1, x2, x3)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs12(Just(x0), Just(x1), ty_Float)
new_ltEs19(x0, x1, ty_@0)
new_compare0([], :(x0, x1), x2)
new_ltEs7(Left(x0), Left(x1), ty_Integer, x2)
new_primCompAux00(x0, LT)
new_esEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_lt17(x0, x1)
new_lt4(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs18(Integer(x0), Integer(x1))
new_lt20(x0, x1, ty_Bool)
new_esEs29(x0, x1, ty_Bool)
new_lt4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs21(x0, x1, app(ty_[], x2))
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs17(Char(x0), Char(x1))
new_esEs19(x0, x1, ty_Double)
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_compare26(x0, x1, False, x2, x3, x4)
new_esEs19(x0, x1, app(ty_[], x2))
new_lt6(x0, x1)
new_lt19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Bool)
new_lt4(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, ty_Int)
new_ltEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_lt19(x0, x1, ty_Ordering)
new_esEs23(x0, x1, ty_Int)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs7(Left(x0), Left(x1), ty_@0, x2)
new_esEs5(Left(x0), Right(x1), x2, x3)
new_esEs5(Right(x0), Left(x1), x2, x3)
new_lt19(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Bool)
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_lt19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Ordering)
new_ltEs7(Right(x0), Right(x1), x2, ty_Bool)
new_esEs23(x0, x1, ty_Char)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(Nothing, Just(x0), x1)
new_primCmpNat0(Zero, Zero)
new_esEs6(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt4(x0, x1, ty_Char)
new_ltEs7(Right(x0), Right(x1), x2, ty_Int)
new_esEs5(Left(x0), Left(x1), ty_Bool, x2)
new_esEs10(False, False)
new_compare112(x0, x1, True, x2)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(x0, x1, ty_Char)
new_primPlusNat1(Zero, Succ(x0))
new_lt20(x0, x1, ty_Int)
new_ltEs13(LT, LT)
new_esEs5(Left(x0), Left(x1), ty_Int, x2)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_ltEs5(x0, x1, app(app(ty_@2, x2), x3))
new_lt19(x0, x1, ty_Bool)
new_esEs15(@0, @0)
new_esEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs30(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_Char)
new_compare6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Just(x0), Just(x1), ty_Char)
new_esEs6(Just(x0), Just(x1), ty_Double)
new_esEs30(x0, x1, ty_Float)
new_compare24(x0, x1, False, x2, x3)
new_ltEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs12(Nothing, Nothing, x0)
new_esEs25(x0, x1, ty_Bool)
new_primCmpNat0(Succ(x0), Zero)
new_compare6(x0, x1, app(ty_Maybe, x2))
new_ltEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_compare25(Just(x0), Nothing, False, x1)
new_esEs5(Right(x0), Right(x1), x2, ty_Integer)
new_lt19(x0, x1, ty_Double)
new_ltEs5(x0, x1, ty_Int)
new_ltEs13(GT, GT)
new_ltEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs19(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Double)
new_esEs16(Float(x0, x1), Float(x2, x3))
new_esEs11(:(x0, x1), [], x2)
new_lt14(x0, x1, x2, x3, x4)
new_esEs24(x0, x1, ty_@0)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_lt11(x0, x1, x2)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_compare14(x0, x1)
new_not(True)
new_lt19(x0, x1, ty_Float)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_compare23(x0, x1, False)
new_ltEs11(x0, x1, x2)
new_ltEs5(x0, x1, ty_Ordering)
new_ltEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_lt4(x0, x1, ty_Ordering)
new_compare27(x0, x1, False, x2, x3)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_lt4(x0, x1, ty_@0)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_not(False)
new_primCompAux00(x0, GT)
new_esEs23(x0, x1, ty_Integer)
new_lt15(x0, x1)
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs8(x0, x1, ty_Integer)
new_esEs20(x0, x1, ty_Double)
new_esEs25(x0, x1, ty_@0)
new_ltEs5(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare111(x0, x1, True)
new_compare6(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Int)
new_esEs5(Left(x0), Left(x1), ty_Double, x2)
new_ltEs17(x0, x1)
new_lt7(x0, x1, x2, x3)
new_esEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Nothing, Just(x0), x1)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Just(x0), Just(x1), ty_Integer)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs14(EQ, LT)
new_esEs14(LT, EQ)
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_compare6(x0, x1, ty_Int)
new_esEs5(Left(x0), Left(x1), ty_Float, x2)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Ordering)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_compare23(x0, x1, True)
new_compare115(x0, x1, False, x2, x3, x4)
new_esEs5(Left(x0), Left(x1), ty_@0, x2)
new_esEs14(GT, GT)
new_ltEs16(x0, x1)
new_compare25(x0, x1, True, x2)
new_esEs19(x0, x1, ty_@0)
new_esEs6(Just(x0), Just(x1), ty_Int)
new_esEs19(x0, x1, ty_Float)
new_lt4(x0, x1, ty_Float)
new_compare11(Double(x0, x1), Double(x2, x3))
new_esEs20(x0, x1, ty_Char)
new_esEs7(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt19(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Char)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_compare114(x0, x1, False, x2, x3)
new_esEs25(x0, x1, ty_Double)
new_compare6(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs14(EQ, EQ)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_compare6(x0, x1, app(ty_Ratio, x2))
new_compare25(Nothing, Just(x0), False, x1)
new_compare6(x0, x1, ty_@0)
new_lt19(x0, x1, app(ty_Ratio, x2))
new_ltEs12(Just(x0), Just(x1), ty_Ordering)
new_esEs20(x0, x1, ty_Ordering)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_primEqNat0(Succ(x0), Succ(x1))
new_primEqInt(Pos(Zero), Pos(Zero))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_lt19(x0, x1, ty_Int)
new_compare112(x0, x1, False, x2)
new_ltEs7(Left(x0), Left(x1), ty_Bool, x2)
new_esEs5(Left(x0), Left(x1), ty_Char, x2)
new_esEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(x0, x1, ty_Ordering)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_compare25(Nothing, Nothing, False, x0)
new_lt16(x0, x1)
new_esEs21(x0, x1, ty_Ordering)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare0(:(x0, x1), :(x2, x3), x4)
new_esEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_ltEs5(x0, x1, ty_@0)
new_esEs5(Right(x0), Right(x1), x2, ty_@0)
new_primMulNat0(Succ(x0), Zero)
new_compare0([], [], x0)
new_primPlusNat0(Zero, x0)
new_esEs5(Right(x0), Right(x1), x2, ty_Bool)
new_lt20(x0, x1, ty_Float)
new_lt10(x0, x1)
new_ltEs7(Right(x0), Right(x1), x2, ty_@0)
new_ltEs20(x0, x1, ty_Float)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
                                        ↳ QDP
                                          ↳ UsableRulesProof
QDP
                                              ↳ QReductionProof
                                        ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_elemFM01(vyw400, vyw41, vyw42, vyw43, vyw44, False, h, ba) → new_elemFM04(vyw400, vyw41, vyw42, vyw43, vyw44, new_esEs14(new_compare25(Nothing, Just(vyw400), False, ba), GT), h, ba)
new_elemFM00(Branch(Just(vyw400), vyw41, vyw42, vyw43, vyw44), Nothing, h, ba) → new_elemFM01(vyw400, vyw41, vyw42, vyw43, vyw44, new_esEs14(new_compare25(Nothing, Just(vyw400), False, ba), LT), h, ba)
new_elemFM04(vyw400, vyw41, vyw42, vyw43, vyw44, True, h, ba) → new_elemFM00(vyw44, Nothing, h, ba)
new_elemFM00(Branch(Nothing, vyw41, vyw42, vyw43, vyw44), Nothing, h, ba) → new_elemFM0(vyw41, vyw42, vyw43, vyw44, new_esEs14(new_compare25(Nothing, Nothing, True, ba), GT), h, ba)
new_elemFM0(vyw41, vyw42, vyw43, vyw44, True, h, ba) → new_elemFM00(vyw44, Nothing, h, ba)
new_elemFM01(vyw400, vyw41, vyw42, vyw43, vyw44, True, h, ba) → new_elemFM00(vyw43, Nothing, h, ba)

The TRS R consists of the following rules:

new_compare25(Nothing, Just(vyw2900), False, beg) → LT
new_esEs14(LT, GT) → False
new_esEs14(EQ, GT) → False
new_esEs14(GT, GT) → True
new_compare25(vyw280, vyw290, True, beg) → EQ
new_esEs14(GT, LT) → False
new_esEs14(EQ, LT) → False
new_esEs14(LT, LT) → True

The set Q consists of the following terms:

new_compare6(x0, x1, app(app(ty_@2, x2), x3))
new_pePe(True, x0)
new_ltEs7(Left(x0), Left(x1), ty_Char, x2)
new_compare114(x0, x1, True, x2, x3)
new_esEs21(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(ty_[], x2))
new_compare6(x0, x1, ty_Bool)
new_ltEs20(x0, x1, ty_@0)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_ltEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Char)
new_esEs5(Right(x0), Right(x1), x2, ty_Int)
new_esEs14(EQ, GT)
new_esEs14(GT, EQ)
new_compare24(x0, x1, True, x2, x3)
new_ltEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs21(x0, x1, ty_Float)
new_esEs20(x0, x1, ty_Float)
new_ltEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primPlusNat1(Succ(x0), Succ(x1))
new_compare6(x0, x1, ty_Float)
new_esEs24(x0, x1, ty_Char)
new_ltEs15(x0, x1)
new_pePe(False, x0)
new_esEs8(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt4(x0, x1, ty_Integer)
new_lt4(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Float)
new_compare110(x0, x1, False, x2, x3)
new_esEs23(x0, x1, ty_Double)
new_esEs24(x0, x1, ty_Bool)
new_esEs9(x0, x1)
new_esEs20(x0, x1, ty_Integer)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Int)
new_compare25(Just(x0), Just(x1), False, x2)
new_esEs28(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Char)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_ltEs12(Just(x0), Nothing, x1)
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt4(x0, x1, app(ty_Maybe, x2))
new_esEs22(x0, x1, ty_Ordering)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_compare6(x0, x1, ty_Double)
new_ltEs18(x0, x1)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs25(x0, x1, ty_Float)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_lt9(x0, x1, x2)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, ty_@0)
new_esEs24(x0, x1, ty_Int)
new_ltEs7(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs8(True, True)
new_primCmpNat0(Succ(x0), Succ(x1))
new_ltEs19(x0, x1, ty_Int)
new_esEs6(Just(x0), Just(x1), app(ty_[], x2))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs30(x0, x1, ty_Integer)
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Ordering)
new_esEs6(Just(x0), Nothing, x1)
new_lt20(x0, x1, ty_Char)
new_compare13(x0, x1, x2)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_esEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Int)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(Just(x0), Just(x1), ty_Char)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare28(x0, x1, True)
new_ltEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs11([], :(x0, x1), x2)
new_ltEs12(Just(x0), Just(x1), ty_@0)
new_esEs14(LT, GT)
new_esEs14(GT, LT)
new_lt19(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_asAs(True, x0)
new_esEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_ltEs5(x0, x1, ty_Double)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primEqNat0(Zero, Zero)
new_esEs25(x0, x1, ty_Int)
new_esEs29(x0, x1, ty_@0)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, ty_Bool)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare111(x0, x1, False)
new_primEqNat0(Succ(x0), Zero)
new_ltEs13(EQ, EQ)
new_lt20(x0, x1, app(ty_[], x2))
new_ltEs7(Right(x0), Right(x1), x2, ty_Double)
new_lt19(x0, x1, app(ty_[], x2))
new_esEs19(x0, x1, ty_Bool)
new_compare6(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs27(x0, x1, ty_Int)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_@0)
new_ltEs10(x0, x1)
new_lt8(x0, x1)
new_primMulNat0(Zero, Zero)
new_lt13(x0, x1)
new_compare113(x0, x1, True)
new_esEs29(x0, x1, ty_Int)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs10(False, True)
new_esEs10(True, False)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_lt5(x0, x1, x2, x3)
new_esEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primMulNat0(Zero, Succ(x0))
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Bool)
new_esEs22(x0, x1, ty_Float)
new_esEs20(x0, x1, ty_Int)
new_esEs6(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs5(Right(x0), Right(x1), x2, ty_Float)
new_ltEs13(LT, EQ)
new_ltEs13(EQ, LT)
new_primPlusNat0(Succ(x0), x1)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs5(Left(x0), Left(x1), ty_Integer, x2)
new_esEs19(x0, x1, ty_Integer)
new_esEs22(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Integer)
new_esEs19(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), ty_Bool)
new_esEs26(x0, x1, ty_@0)
new_esEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_compare15(x0, x1, x2, x3, x4)
new_ltEs9(x0, x1, x2)
new_sr(x0, x1)
new_primCmpNat0(Zero, Succ(x0))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_esEs30(x0, x1, ty_Double)
new_esEs24(x0, x1, app(ty_[], x2))
new_lt4(x0, x1, ty_Double)
new_primEqNat0(Zero, Succ(x0))
new_esEs23(x0, x1, ty_Bool)
new_esEs30(x0, x1, ty_@0)
new_asAs(False, x0)
new_esEs24(x0, x1, ty_Double)
new_esEs29(x0, x1, ty_Integer)
new_compare0(:(x0, x1), [], x2)
new_ltEs6(x0, x1)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, ty_Ordering)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs24(x0, x1, ty_Integer)
new_esEs8(x0, x1, ty_Char)
new_compare27(x0, x1, True, x2, x3)
new_esEs20(x0, x1, ty_@0)
new_esEs6(Nothing, Nothing, x0)
new_compare28(x0, x1, False)
new_esEs22(x0, x1, ty_@0)
new_esEs6(Just(x0), Just(x1), ty_Bool)
new_lt4(x0, x1, ty_Int)
new_ltEs7(Left(x0), Right(x1), x2, x3)
new_ltEs7(Right(x0), Left(x1), x2, x3)
new_compare26(x0, x1, True, x2, x3, x4)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_compare16(@0, @0)
new_esEs5(Right(x0), Right(x1), x2, ty_Char)
new_ltEs19(x0, x1, ty_Bool)
new_esEs6(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs12(Double(x0, x1), Double(x2, x3))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_compare17(Float(x0, x1), Float(x2, x3))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, ty_Float)
new_esEs6(Just(x0), Just(x1), ty_@0)
new_esEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs12(Just(x0), Just(x1), ty_Double)
new_ltEs5(x0, x1, ty_Integer)
new_ltEs14(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_primPlusNat1(Zero, Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs14(LT, LT)
new_esEs10(True, True)
new_esEs24(x0, x1, ty_Float)
new_esEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs19(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Double)
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Integer)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, app(ty_[], x2))
new_ltEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs30(x0, x1, ty_Int)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_lt19(x0, x1, ty_@0)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare113(x0, x1, False)
new_compare6(x0, x1, ty_Integer)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11([], [], x0)
new_esEs8(x0, x1, ty_@0)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs6(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_primCompAux0(x0, x1, x2, x3)
new_esEs5(Right(x0), Right(x1), x2, ty_Double)
new_ltEs5(x0, x1, ty_Char)
new_ltEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_lt19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(x0, x1)
new_esEs22(x0, x1, ty_Bool)
new_esEs27(x0, x1, ty_Integer)
new_ltEs7(Left(x0), Left(x1), ty_Int, x2)
new_esEs29(x0, x1, ty_Float)
new_esEs8(x0, x1, ty_Double)
new_lt20(x0, x1, ty_Integer)
new_ltEs13(EQ, GT)
new_ltEs13(GT, EQ)
new_esEs26(x0, x1, ty_Double)
new_esEs6(Just(x0), Just(x1), ty_Float)
new_ltEs5(x0, x1, app(ty_Maybe, x2))
new_ltEs7(Left(x0), Left(x1), ty_Float, x2)
new_lt12(x0, x1, x2)
new_esEs11(:(x0, x1), :(x2, x3), x4)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs5(x0, x1, app(ty_Ratio, x2))
new_ltEs7(Left(x0), Left(x1), ty_Double, x2)
new_ltEs8(False, False)
new_lt20(x0, x1, ty_Double)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(x0, x1, ty_Int)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_ltEs19(x0, x1, ty_Float)
new_ltEs7(Right(x0), Right(x1), x2, ty_Float)
new_ltEs19(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, ty_Char)
new_esEs8(x0, x1, ty_Int)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Pos(Zero))
new_esEs8(x0, x1, ty_Float)
new_esEs23(x0, x1, app(ty_[], x2))
new_ltEs8(False, True)
new_ltEs8(True, False)
new_ltEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_ltEs7(Right(x0), Right(x1), x2, ty_Char)
new_lt4(x0, x1, ty_Bool)
new_compare115(x0, x1, True, x2, x3, x4)
new_ltEs12(Just(x0), Just(x1), ty_Int)
new_compare19(Integer(x0), Integer(x1))
new_esEs25(x0, x1, ty_Char)
new_compare9(x0, x1, x2, x3)
new_lt18(x0, x1)
new_ltEs13(LT, GT)
new_ltEs13(GT, LT)
new_primCompAux00(x0, EQ)
new_esEs21(x0, x1, ty_Double)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs6(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Zero), Neg(Zero))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_sr0(Integer(x0), Integer(x1))
new_compare110(x0, x1, True, x2, x3)
new_ltEs19(x0, x1, ty_Char)
new_lt4(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, ty_Double)
new_compare18(Char(x0), Char(x1))
new_esEs8(x0, x1, ty_Bool)
new_ltEs5(x0, x1, ty_Bool)
new_esEs6(Just(x0), Just(x1), ty_Ordering)
new_esEs20(x0, x1, ty_Bool)
new_esEs6(Just(x0), Just(x1), ty_Integer)
new_compare8(x0, x1)
new_compare7(x0, x1, x2, x3)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs12(Just(x0), Just(x1), ty_Float)
new_ltEs19(x0, x1, ty_@0)
new_compare0([], :(x0, x1), x2)
new_ltEs7(Left(x0), Left(x1), ty_Integer, x2)
new_primCompAux00(x0, LT)
new_esEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_lt17(x0, x1)
new_lt4(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs18(Integer(x0), Integer(x1))
new_lt20(x0, x1, ty_Bool)
new_esEs29(x0, x1, ty_Bool)
new_lt4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs21(x0, x1, app(ty_[], x2))
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs17(Char(x0), Char(x1))
new_esEs19(x0, x1, ty_Double)
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_compare26(x0, x1, False, x2, x3, x4)
new_esEs19(x0, x1, app(ty_[], x2))
new_lt6(x0, x1)
new_lt19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Bool)
new_lt4(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, ty_Int)
new_ltEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_lt19(x0, x1, ty_Ordering)
new_esEs23(x0, x1, ty_Int)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs7(Left(x0), Left(x1), ty_@0, x2)
new_esEs5(Left(x0), Right(x1), x2, x3)
new_esEs5(Right(x0), Left(x1), x2, x3)
new_lt19(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Bool)
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_lt19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Ordering)
new_ltEs7(Right(x0), Right(x1), x2, ty_Bool)
new_esEs23(x0, x1, ty_Char)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(Nothing, Just(x0), x1)
new_primCmpNat0(Zero, Zero)
new_esEs6(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt4(x0, x1, ty_Char)
new_ltEs7(Right(x0), Right(x1), x2, ty_Int)
new_esEs5(Left(x0), Left(x1), ty_Bool, x2)
new_esEs10(False, False)
new_compare112(x0, x1, True, x2)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(x0, x1, ty_Char)
new_primPlusNat1(Zero, Succ(x0))
new_lt20(x0, x1, ty_Int)
new_ltEs13(LT, LT)
new_esEs5(Left(x0), Left(x1), ty_Int, x2)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_ltEs5(x0, x1, app(app(ty_@2, x2), x3))
new_lt19(x0, x1, ty_Bool)
new_esEs15(@0, @0)
new_esEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs30(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_Char)
new_compare6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Just(x0), Just(x1), ty_Char)
new_esEs6(Just(x0), Just(x1), ty_Double)
new_esEs30(x0, x1, ty_Float)
new_compare24(x0, x1, False, x2, x3)
new_ltEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs12(Nothing, Nothing, x0)
new_esEs25(x0, x1, ty_Bool)
new_primCmpNat0(Succ(x0), Zero)
new_compare6(x0, x1, app(ty_Maybe, x2))
new_ltEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_compare25(Just(x0), Nothing, False, x1)
new_esEs5(Right(x0), Right(x1), x2, ty_Integer)
new_lt19(x0, x1, ty_Double)
new_ltEs5(x0, x1, ty_Int)
new_ltEs13(GT, GT)
new_ltEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs19(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Double)
new_esEs16(Float(x0, x1), Float(x2, x3))
new_esEs11(:(x0, x1), [], x2)
new_lt14(x0, x1, x2, x3, x4)
new_esEs24(x0, x1, ty_@0)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_lt11(x0, x1, x2)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_compare14(x0, x1)
new_not(True)
new_lt19(x0, x1, ty_Float)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_compare23(x0, x1, False)
new_ltEs11(x0, x1, x2)
new_ltEs5(x0, x1, ty_Ordering)
new_ltEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_lt4(x0, x1, ty_Ordering)
new_compare27(x0, x1, False, x2, x3)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_lt4(x0, x1, ty_@0)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_not(False)
new_primCompAux00(x0, GT)
new_esEs23(x0, x1, ty_Integer)
new_lt15(x0, x1)
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs8(x0, x1, ty_Integer)
new_esEs20(x0, x1, ty_Double)
new_esEs25(x0, x1, ty_@0)
new_ltEs5(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare111(x0, x1, True)
new_compare6(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Int)
new_esEs5(Left(x0), Left(x1), ty_Double, x2)
new_ltEs17(x0, x1)
new_lt7(x0, x1, x2, x3)
new_esEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Nothing, Just(x0), x1)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Just(x0), Just(x1), ty_Integer)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs14(EQ, LT)
new_esEs14(LT, EQ)
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_compare6(x0, x1, ty_Int)
new_esEs5(Left(x0), Left(x1), ty_Float, x2)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Ordering)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_compare23(x0, x1, True)
new_compare115(x0, x1, False, x2, x3, x4)
new_esEs5(Left(x0), Left(x1), ty_@0, x2)
new_esEs14(GT, GT)
new_ltEs16(x0, x1)
new_compare25(x0, x1, True, x2)
new_esEs19(x0, x1, ty_@0)
new_esEs6(Just(x0), Just(x1), ty_Int)
new_esEs19(x0, x1, ty_Float)
new_lt4(x0, x1, ty_Float)
new_compare11(Double(x0, x1), Double(x2, x3))
new_esEs20(x0, x1, ty_Char)
new_esEs7(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt19(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Char)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_compare114(x0, x1, False, x2, x3)
new_esEs25(x0, x1, ty_Double)
new_compare6(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs14(EQ, EQ)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_compare6(x0, x1, app(ty_Ratio, x2))
new_compare25(Nothing, Just(x0), False, x1)
new_compare6(x0, x1, ty_@0)
new_lt19(x0, x1, app(ty_Ratio, x2))
new_ltEs12(Just(x0), Just(x1), ty_Ordering)
new_esEs20(x0, x1, ty_Ordering)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_primEqNat0(Succ(x0), Succ(x1))
new_primEqInt(Pos(Zero), Pos(Zero))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_lt19(x0, x1, ty_Int)
new_compare112(x0, x1, False, x2)
new_ltEs7(Left(x0), Left(x1), ty_Bool, x2)
new_esEs5(Left(x0), Left(x1), ty_Char, x2)
new_esEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(x0, x1, ty_Ordering)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_compare25(Nothing, Nothing, False, x0)
new_lt16(x0, x1)
new_esEs21(x0, x1, ty_Ordering)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare0(:(x0, x1), :(x2, x3), x4)
new_esEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_ltEs5(x0, x1, ty_@0)
new_esEs5(Right(x0), Right(x1), x2, ty_@0)
new_primMulNat0(Succ(x0), Zero)
new_compare0([], [], x0)
new_primPlusNat0(Zero, x0)
new_esEs5(Right(x0), Right(x1), x2, ty_Bool)
new_lt20(x0, x1, ty_Float)
new_lt10(x0, x1)
new_ltEs7(Right(x0), Right(x1), x2, ty_@0)
new_ltEs20(x0, x1, ty_Float)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_compare6(x0, x1, app(app(ty_@2, x2), x3))
new_pePe(True, x0)
new_ltEs7(Left(x0), Left(x1), ty_Char, x2)
new_compare114(x0, x1, True, x2, x3)
new_esEs21(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(ty_[], x2))
new_compare6(x0, x1, ty_Bool)
new_ltEs20(x0, x1, ty_@0)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_ltEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Char)
new_esEs5(Right(x0), Right(x1), x2, ty_Int)
new_compare24(x0, x1, True, x2, x3)
new_ltEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs21(x0, x1, ty_Float)
new_esEs20(x0, x1, ty_Float)
new_ltEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primPlusNat1(Succ(x0), Succ(x1))
new_compare6(x0, x1, ty_Float)
new_esEs24(x0, x1, ty_Char)
new_ltEs15(x0, x1)
new_pePe(False, x0)
new_esEs8(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt4(x0, x1, ty_Integer)
new_lt4(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Float)
new_compare110(x0, x1, False, x2, x3)
new_esEs23(x0, x1, ty_Double)
new_esEs24(x0, x1, ty_Bool)
new_esEs9(x0, x1)
new_esEs20(x0, x1, ty_Integer)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Char)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_ltEs12(Just(x0), Nothing, x1)
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt4(x0, x1, app(ty_Maybe, x2))
new_esEs22(x0, x1, ty_Ordering)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_compare6(x0, x1, ty_Double)
new_ltEs18(x0, x1)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs25(x0, x1, ty_Float)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_lt9(x0, x1, x2)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, ty_@0)
new_esEs24(x0, x1, ty_Int)
new_ltEs7(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs8(True, True)
new_primCmpNat0(Succ(x0), Succ(x1))
new_ltEs19(x0, x1, ty_Int)
new_esEs6(Just(x0), Just(x1), app(ty_[], x2))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs30(x0, x1, ty_Integer)
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Ordering)
new_esEs6(Just(x0), Nothing, x1)
new_lt20(x0, x1, ty_Char)
new_compare13(x0, x1, x2)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_esEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Int)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(Just(x0), Just(x1), ty_Char)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare28(x0, x1, True)
new_ltEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs11([], :(x0, x1), x2)
new_ltEs12(Just(x0), Just(x1), ty_@0)
new_lt19(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_asAs(True, x0)
new_esEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_ltEs5(x0, x1, ty_Double)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primEqNat0(Zero, Zero)
new_esEs25(x0, x1, ty_Int)
new_esEs29(x0, x1, ty_@0)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, ty_Bool)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare111(x0, x1, False)
new_primEqNat0(Succ(x0), Zero)
new_ltEs13(EQ, EQ)
new_lt20(x0, x1, app(ty_[], x2))
new_ltEs7(Right(x0), Right(x1), x2, ty_Double)
new_lt19(x0, x1, app(ty_[], x2))
new_esEs19(x0, x1, ty_Bool)
new_compare6(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs27(x0, x1, ty_Int)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_@0)
new_ltEs10(x0, x1)
new_lt8(x0, x1)
new_primMulNat0(Zero, Zero)
new_lt13(x0, x1)
new_compare113(x0, x1, True)
new_esEs29(x0, x1, ty_Int)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs10(False, True)
new_esEs10(True, False)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_lt5(x0, x1, x2, x3)
new_esEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primMulNat0(Zero, Succ(x0))
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Bool)
new_esEs22(x0, x1, ty_Float)
new_esEs20(x0, x1, ty_Int)
new_esEs6(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs5(Right(x0), Right(x1), x2, ty_Float)
new_ltEs13(LT, EQ)
new_ltEs13(EQ, LT)
new_primPlusNat0(Succ(x0), x1)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs5(Left(x0), Left(x1), ty_Integer, x2)
new_esEs19(x0, x1, ty_Integer)
new_esEs22(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Integer)
new_esEs19(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), ty_Bool)
new_esEs26(x0, x1, ty_@0)
new_esEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_compare15(x0, x1, x2, x3, x4)
new_ltEs9(x0, x1, x2)
new_sr(x0, x1)
new_primCmpNat0(Zero, Succ(x0))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_esEs30(x0, x1, ty_Double)
new_esEs24(x0, x1, app(ty_[], x2))
new_lt4(x0, x1, ty_Double)
new_primEqNat0(Zero, Succ(x0))
new_esEs23(x0, x1, ty_Bool)
new_esEs30(x0, x1, ty_@0)
new_asAs(False, x0)
new_esEs24(x0, x1, ty_Double)
new_esEs29(x0, x1, ty_Integer)
new_compare0(:(x0, x1), [], x2)
new_ltEs6(x0, x1)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, ty_Ordering)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs24(x0, x1, ty_Integer)
new_esEs8(x0, x1, ty_Char)
new_compare27(x0, x1, True, x2, x3)
new_esEs20(x0, x1, ty_@0)
new_esEs6(Nothing, Nothing, x0)
new_compare28(x0, x1, False)
new_esEs22(x0, x1, ty_@0)
new_esEs6(Just(x0), Just(x1), ty_Bool)
new_lt4(x0, x1, ty_Int)
new_ltEs7(Left(x0), Right(x1), x2, x3)
new_ltEs7(Right(x0), Left(x1), x2, x3)
new_compare26(x0, x1, True, x2, x3, x4)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_compare16(@0, @0)
new_esEs5(Right(x0), Right(x1), x2, ty_Char)
new_ltEs19(x0, x1, ty_Bool)
new_esEs6(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs12(Double(x0, x1), Double(x2, x3))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_compare17(Float(x0, x1), Float(x2, x3))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, ty_Float)
new_esEs6(Just(x0), Just(x1), ty_@0)
new_esEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs12(Just(x0), Just(x1), ty_Double)
new_ltEs5(x0, x1, ty_Integer)
new_ltEs14(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_primPlusNat1(Zero, Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs10(True, True)
new_esEs24(x0, x1, ty_Float)
new_esEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs19(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Double)
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Integer)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, app(ty_[], x2))
new_ltEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs30(x0, x1, ty_Int)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_lt19(x0, x1, ty_@0)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare113(x0, x1, False)
new_compare6(x0, x1, ty_Integer)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11([], [], x0)
new_esEs8(x0, x1, ty_@0)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs6(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_primCompAux0(x0, x1, x2, x3)
new_esEs5(Right(x0), Right(x1), x2, ty_Double)
new_ltEs5(x0, x1, ty_Char)
new_ltEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_lt19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(x0, x1)
new_esEs22(x0, x1, ty_Bool)
new_esEs27(x0, x1, ty_Integer)
new_ltEs7(Left(x0), Left(x1), ty_Int, x2)
new_esEs29(x0, x1, ty_Float)
new_esEs8(x0, x1, ty_Double)
new_lt20(x0, x1, ty_Integer)
new_ltEs13(EQ, GT)
new_ltEs13(GT, EQ)
new_esEs26(x0, x1, ty_Double)
new_esEs6(Just(x0), Just(x1), ty_Float)
new_ltEs5(x0, x1, app(ty_Maybe, x2))
new_ltEs7(Left(x0), Left(x1), ty_Float, x2)
new_lt12(x0, x1, x2)
new_esEs11(:(x0, x1), :(x2, x3), x4)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs5(x0, x1, app(ty_Ratio, x2))
new_ltEs7(Left(x0), Left(x1), ty_Double, x2)
new_ltEs8(False, False)
new_lt20(x0, x1, ty_Double)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(x0, x1, ty_Int)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_ltEs19(x0, x1, ty_Float)
new_ltEs7(Right(x0), Right(x1), x2, ty_Float)
new_ltEs19(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, ty_Char)
new_esEs8(x0, x1, ty_Int)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Pos(Zero))
new_esEs8(x0, x1, ty_Float)
new_esEs23(x0, x1, app(ty_[], x2))
new_ltEs8(False, True)
new_ltEs8(True, False)
new_ltEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_ltEs7(Right(x0), Right(x1), x2, ty_Char)
new_lt4(x0, x1, ty_Bool)
new_compare115(x0, x1, True, x2, x3, x4)
new_ltEs12(Just(x0), Just(x1), ty_Int)
new_compare19(Integer(x0), Integer(x1))
new_esEs25(x0, x1, ty_Char)
new_compare9(x0, x1, x2, x3)
new_lt18(x0, x1)
new_ltEs13(LT, GT)
new_ltEs13(GT, LT)
new_primCompAux00(x0, EQ)
new_esEs21(x0, x1, ty_Double)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs6(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Zero), Neg(Zero))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_sr0(Integer(x0), Integer(x1))
new_compare110(x0, x1, True, x2, x3)
new_ltEs19(x0, x1, ty_Char)
new_lt4(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, ty_Double)
new_compare18(Char(x0), Char(x1))
new_esEs8(x0, x1, ty_Bool)
new_ltEs5(x0, x1, ty_Bool)
new_esEs6(Just(x0), Just(x1), ty_Ordering)
new_esEs20(x0, x1, ty_Bool)
new_esEs6(Just(x0), Just(x1), ty_Integer)
new_compare8(x0, x1)
new_compare7(x0, x1, x2, x3)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs12(Just(x0), Just(x1), ty_Float)
new_ltEs19(x0, x1, ty_@0)
new_compare0([], :(x0, x1), x2)
new_ltEs7(Left(x0), Left(x1), ty_Integer, x2)
new_primCompAux00(x0, LT)
new_esEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_lt17(x0, x1)
new_lt4(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs18(Integer(x0), Integer(x1))
new_lt20(x0, x1, ty_Bool)
new_esEs29(x0, x1, ty_Bool)
new_lt4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs21(x0, x1, app(ty_[], x2))
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs17(Char(x0), Char(x1))
new_esEs19(x0, x1, ty_Double)
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_compare26(x0, x1, False, x2, x3, x4)
new_esEs19(x0, x1, app(ty_[], x2))
new_lt6(x0, x1)
new_lt19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Bool)
new_lt4(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, ty_Int)
new_ltEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_lt19(x0, x1, ty_Ordering)
new_esEs23(x0, x1, ty_Int)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs7(Left(x0), Left(x1), ty_@0, x2)
new_esEs5(Left(x0), Right(x1), x2, x3)
new_esEs5(Right(x0), Left(x1), x2, x3)
new_lt19(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Bool)
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_lt19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Ordering)
new_ltEs7(Right(x0), Right(x1), x2, ty_Bool)
new_esEs23(x0, x1, ty_Char)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(Nothing, Just(x0), x1)
new_primCmpNat0(Zero, Zero)
new_esEs6(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt4(x0, x1, ty_Char)
new_ltEs7(Right(x0), Right(x1), x2, ty_Int)
new_esEs5(Left(x0), Left(x1), ty_Bool, x2)
new_esEs10(False, False)
new_compare112(x0, x1, True, x2)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(x0, x1, ty_Char)
new_primPlusNat1(Zero, Succ(x0))
new_lt20(x0, x1, ty_Int)
new_ltEs13(LT, LT)
new_esEs5(Left(x0), Left(x1), ty_Int, x2)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_ltEs5(x0, x1, app(app(ty_@2, x2), x3))
new_lt19(x0, x1, ty_Bool)
new_esEs15(@0, @0)
new_esEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs30(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_Char)
new_compare6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Just(x0), Just(x1), ty_Char)
new_esEs6(Just(x0), Just(x1), ty_Double)
new_esEs30(x0, x1, ty_Float)
new_compare24(x0, x1, False, x2, x3)
new_ltEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs12(Nothing, Nothing, x0)
new_esEs25(x0, x1, ty_Bool)
new_primCmpNat0(Succ(x0), Zero)
new_compare6(x0, x1, app(ty_Maybe, x2))
new_ltEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_esEs5(Right(x0), Right(x1), x2, ty_Integer)
new_lt19(x0, x1, ty_Double)
new_ltEs5(x0, x1, ty_Int)
new_ltEs13(GT, GT)
new_ltEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs19(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Double)
new_esEs16(Float(x0, x1), Float(x2, x3))
new_esEs11(:(x0, x1), [], x2)
new_lt14(x0, x1, x2, x3, x4)
new_esEs24(x0, x1, ty_@0)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_lt11(x0, x1, x2)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_compare14(x0, x1)
new_not(True)
new_lt19(x0, x1, ty_Float)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_compare23(x0, x1, False)
new_ltEs11(x0, x1, x2)
new_ltEs5(x0, x1, ty_Ordering)
new_ltEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_lt4(x0, x1, ty_Ordering)
new_compare27(x0, x1, False, x2, x3)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_lt4(x0, x1, ty_@0)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_not(False)
new_primCompAux00(x0, GT)
new_esEs23(x0, x1, ty_Integer)
new_lt15(x0, x1)
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs8(x0, x1, ty_Integer)
new_esEs20(x0, x1, ty_Double)
new_esEs25(x0, x1, ty_@0)
new_ltEs5(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare111(x0, x1, True)
new_compare6(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Int)
new_esEs5(Left(x0), Left(x1), ty_Double, x2)
new_ltEs17(x0, x1)
new_lt7(x0, x1, x2, x3)
new_esEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Nothing, Just(x0), x1)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Just(x0), Just(x1), ty_Integer)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_compare6(x0, x1, ty_Int)
new_esEs5(Left(x0), Left(x1), ty_Float, x2)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Ordering)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_compare23(x0, x1, True)
new_compare115(x0, x1, False, x2, x3, x4)
new_esEs5(Left(x0), Left(x1), ty_@0, x2)
new_ltEs16(x0, x1)
new_esEs19(x0, x1, ty_@0)
new_esEs6(Just(x0), Just(x1), ty_Int)
new_esEs19(x0, x1, ty_Float)
new_lt4(x0, x1, ty_Float)
new_compare11(Double(x0, x1), Double(x2, x3))
new_esEs20(x0, x1, ty_Char)
new_esEs7(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt19(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Char)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_compare114(x0, x1, False, x2, x3)
new_esEs25(x0, x1, ty_Double)
new_compare6(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_compare6(x0, x1, app(ty_Ratio, x2))
new_compare6(x0, x1, ty_@0)
new_lt19(x0, x1, app(ty_Ratio, x2))
new_ltEs12(Just(x0), Just(x1), ty_Ordering)
new_esEs20(x0, x1, ty_Ordering)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_primEqNat0(Succ(x0), Succ(x1))
new_primEqInt(Pos(Zero), Pos(Zero))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_lt19(x0, x1, ty_Int)
new_compare112(x0, x1, False, x2)
new_ltEs7(Left(x0), Left(x1), ty_Bool, x2)
new_esEs5(Left(x0), Left(x1), ty_Char, x2)
new_esEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(x0, x1, ty_Ordering)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_lt16(x0, x1)
new_esEs21(x0, x1, ty_Ordering)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare0(:(x0, x1), :(x2, x3), x4)
new_esEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_ltEs5(x0, x1, ty_@0)
new_esEs5(Right(x0), Right(x1), x2, ty_@0)
new_primMulNat0(Succ(x0), Zero)
new_compare0([], [], x0)
new_primPlusNat0(Zero, x0)
new_esEs5(Right(x0), Right(x1), x2, ty_Bool)
new_lt20(x0, x1, ty_Float)
new_lt10(x0, x1)
new_ltEs7(Right(x0), Right(x1), x2, ty_@0)
new_ltEs20(x0, x1, ty_Float)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
                                        ↳ QDP
                                          ↳ UsableRulesProof
                                            ↳ QDP
                                              ↳ QReductionProof
QDP
                                                  ↳ QDPSizeChangeProof
                                        ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_elemFM01(vyw400, vyw41, vyw42, vyw43, vyw44, False, h, ba) → new_elemFM04(vyw400, vyw41, vyw42, vyw43, vyw44, new_esEs14(new_compare25(Nothing, Just(vyw400), False, ba), GT), h, ba)
new_elemFM00(Branch(Just(vyw400), vyw41, vyw42, vyw43, vyw44), Nothing, h, ba) → new_elemFM01(vyw400, vyw41, vyw42, vyw43, vyw44, new_esEs14(new_compare25(Nothing, Just(vyw400), False, ba), LT), h, ba)
new_elemFM04(vyw400, vyw41, vyw42, vyw43, vyw44, True, h, ba) → new_elemFM00(vyw44, Nothing, h, ba)
new_elemFM00(Branch(Nothing, vyw41, vyw42, vyw43, vyw44), Nothing, h, ba) → new_elemFM0(vyw41, vyw42, vyw43, vyw44, new_esEs14(new_compare25(Nothing, Nothing, True, ba), GT), h, ba)
new_elemFM0(vyw41, vyw42, vyw43, vyw44, True, h, ba) → new_elemFM00(vyw44, Nothing, h, ba)
new_elemFM01(vyw400, vyw41, vyw42, vyw43, vyw44, True, h, ba) → new_elemFM00(vyw43, Nothing, h, ba)

The TRS R consists of the following rules:

new_compare25(Nothing, Just(vyw2900), False, beg) → LT
new_esEs14(LT, GT) → False
new_esEs14(EQ, GT) → False
new_esEs14(GT, GT) → True
new_compare25(vyw280, vyw290, True, beg) → EQ
new_esEs14(GT, LT) → False
new_esEs14(EQ, LT) → False
new_esEs14(LT, LT) → True

The set Q consists of the following terms:

new_esEs14(EQ, GT)
new_esEs14(GT, EQ)
new_compare25(Just(x0), Just(x1), False, x2)
new_esEs14(LT, GT)
new_esEs14(GT, LT)
new_esEs14(LT, LT)
new_compare25(Just(x0), Nothing, False, x1)
new_esEs14(EQ, LT)
new_esEs14(LT, EQ)
new_esEs14(GT, GT)
new_compare25(x0, x1, True, x2)
new_esEs14(EQ, EQ)
new_compare25(Nothing, Just(x0), False, x1)
new_compare25(Nothing, Nothing, False, x0)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
                                        ↳ QDP
QDP
                                          ↳ QDPSizeChangeProof

Q DP problem:
The TRS P consists of the following rules:

new_elemFM00(Branch(Just(vyw400), vyw41, vyw42, vyw43, vyw44), Just(vyw30), h, ba) → new_elemFM03(vyw400, vyw41, vyw42, vyw43, vyw44, vyw30, new_esEs14(new_compare25(Just(vyw30), Just(vyw400), new_esEs29(vyw30, vyw400, ba), ba), LT), h, ba)
new_elemFM02(vyw41, vyw42, vyw43, vyw44, vyw30, True, h, ba) → new_elemFM00(vyw43, Just(vyw30), h, ba)
new_elemFM06(vyw13, vyw14, vyw15, vyw16, vyw17, vyw18, True, bb, bc) → new_elemFM00(vyw17, Just(vyw18), bb, bc)
new_elemFM05(vyw41, vyw42, vyw43, vyw44, vyw30, True, h, ba) → new_elemFM00(vyw44, Just(vyw30), h, ba)
new_elemFM02(vyw41, vyw42, vyw43, vyw44, vyw30, False, h, ba) → new_elemFM05(vyw41, vyw42, vyw43, vyw44, vyw30, new_esEs14(new_compare25(Just(vyw30), Nothing, False, ba), GT), h, ba)
new_elemFM00(Branch(Nothing, vyw41, vyw42, vyw43, vyw44), Just(vyw30), h, ba) → new_elemFM02(vyw41, vyw42, vyw43, vyw44, vyw30, new_esEs14(new_compare25(Just(vyw30), Nothing, False, ba), LT), h, ba)
new_elemFM03(vyw13, vyw14, vyw15, vyw16, vyw17, vyw18, True, bb, bc) → new_elemFM00(vyw16, Just(vyw18), bb, bc)
new_elemFM03(vyw13, vyw14, vyw15, vyw16, vyw17, vyw18, False, bb, bc) → new_elemFM06(vyw13, vyw14, vyw15, vyw16, vyw17, vyw18, new_esEs14(new_compare25(Just(vyw18), Just(vyw13), new_esEs30(vyw18, vyw13, bc), bc), GT), bb, bc)

The TRS R consists of the following rules:

new_esEs30(vyw18, vyw13, app(ty_Maybe, ccg)) → new_esEs6(vyw18, vyw13, ccg)
new_esEs26(vyw301, vyw4001, ty_@0) → new_esEs15(vyw301, vyw4001)
new_compare112(vyw84, vyw85, True, bef) → LT
new_esEs24(vyw28001, vyw29001, app(app(ty_Either, cad), cae)) → new_esEs5(vyw28001, vyw29001, cad, cae)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Char) → new_esEs17(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Int) → new_ltEs6(vyw28000, vyw29000)
new_ltEs19(vyw2800, vyw2900, app(ty_Ratio, beh)) → new_ltEs11(vyw2800, vyw2900, beh)
new_compare6(vyw28000, vyw29000, app(app(app(ty_@3, bbe), bbf), bbg)) → new_compare15(vyw28000, vyw29000, bbe, bbf, bbg)
new_ltEs8(False, True) → True
new_esEs5(Left(vyw300), Left(vyw4000), ty_Ordering, cge) → new_esEs14(vyw300, vyw4000)
new_esEs17(Char(vyw300), Char(vyw4000)) → new_primEqNat0(vyw300, vyw4000)
new_compare6(vyw28000, vyw29000, app(ty_[], bbb)) → new_compare0(vyw28000, vyw29000, bbb)
new_ltEs19(vyw2800, vyw2900, app(ty_[], bae)) → new_ltEs9(vyw2800, vyw2900, bae)
new_esEs24(vyw28001, vyw29001, ty_Char) → new_esEs17(vyw28001, vyw29001)
new_compare110(vyw28000, vyw29000, True, bf, bg) → LT
new_lt6(vyw28000, vyw29000) → new_esEs14(new_compare8(vyw28000, vyw29000), LT)
new_lt19(vyw28001, vyw29001, ty_Integer) → new_lt18(vyw28001, vyw29001)
new_esEs23(vyw28000, vyw29000, app(app(ty_Either, bhb), bhc)) → new_esEs5(vyw28000, vyw29000, bhb, bhc)
new_esEs5(Left(vyw300), Left(vyw4000), ty_Double, cge) → new_esEs12(vyw300, vyw4000)
new_esEs23(vyw28000, vyw29000, app(app(ty_@2, bgh), bha)) → new_esEs4(vyw28000, vyw29000, bgh, bha)
new_esEs23(vyw28000, vyw29000, ty_Integer) → new_esEs18(vyw28000, vyw29000)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, app(ty_[], bdh)) → new_ltEs9(vyw28000, vyw29000, bdh)
new_esEs29(vyw30, vyw400, ty_Int) → new_esEs9(vyw30, vyw400)
new_esEs20(vyw301, vyw4001, ty_Int) → new_esEs9(vyw301, vyw4001)
new_lt4(vyw28000, vyw29000, ty_Double) → new_lt10(vyw28000, vyw29000)
new_esEs20(vyw301, vyw4001, ty_Double) → new_esEs12(vyw301, vyw4001)
new_compare27(vyw28000, vyw29000, False, bh, ca) → new_compare114(vyw28000, vyw29000, new_ltEs7(vyw28000, vyw29000, bh, ca), bh, ca)
new_esEs25(vyw300, vyw4000, ty_Char) → new_esEs17(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), app(ty_[], ced)) → new_ltEs9(vyw28000, vyw29000, ced)
new_esEs23(vyw28000, vyw29000, ty_Float) → new_esEs16(vyw28000, vyw29000)
new_ltEs12(Nothing, Nothing, bfa) → True
new_esEs16(Float(vyw300, vyw301), Float(vyw4000, vyw4001)) → new_esEs9(new_sr(vyw300, vyw4000), new_sr(vyw301, vyw4001))
new_ltEs7(Left(vyw28000), Right(vyw29000), bdc, bcb) → True
new_primMulNat0(Zero, Zero) → Zero
new_esEs25(vyw300, vyw4000, ty_Double) → new_esEs12(vyw300, vyw4000)
new_esEs6(Just(vyw300), Just(vyw4000), app(ty_Ratio, cfc)) → new_esEs13(vyw300, vyw4000, cfc)
new_ltEs20(vyw28002, vyw29002, ty_@0) → new_ltEs15(vyw28002, vyw29002)
new_esEs29(vyw30, vyw400, ty_Float) → new_esEs16(vyw30, vyw400)
new_esEs5(Right(vyw300), Right(vyw4000), chh, ty_Float) → new_esEs16(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Float) → new_ltEs16(vyw28000, vyw29000)
new_esEs23(vyw28000, vyw29000, app(ty_Ratio, bhe)) → new_esEs13(vyw28000, vyw29000, bhe)
new_esEs25(vyw300, vyw4000, app(app(ty_@2, dbh), dca)) → new_esEs4(vyw300, vyw4000, dbh, dca)
new_lt20(vyw28000, vyw29000, ty_Integer) → new_lt18(vyw28000, vyw29000)
new_compare25(vyw280, vyw290, True, beg) → EQ
new_compare10(vyw28000, vyw29000) → new_compare23(vyw28000, vyw29000, new_esEs10(vyw28000, vyw29000))
new_lt20(vyw28000, vyw29000, app(app(ty_@2, bgh), bha)) → new_lt5(vyw28000, vyw29000, bgh, bha)
new_esEs22(vyw300, vyw4000, ty_Char) → new_esEs17(vyw300, vyw4000)
new_esEs8(vyw28000, vyw29000, ty_Double) → new_esEs12(vyw28000, vyw29000)
new_compare14(vyw28000, vyw29000) → new_compare28(vyw28000, vyw29000, new_esEs14(vyw28000, vyw29000))
new_compare16(@0, @0) → EQ
new_lt18(vyw28000, vyw29000) → new_esEs14(new_compare19(vyw28000, vyw29000), LT)
new_esEs19(vyw300, vyw4000, app(app(app(ty_@3, ff), fg), fh)) → new_esEs7(vyw300, vyw4000, ff, fg, fh)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, app(app(ty_@2, bdd), bde)) → new_ltEs4(vyw28000, vyw29000, bdd, bde)
new_esEs30(vyw18, vyw13, ty_Int) → new_esEs9(vyw18, vyw13)
new_esEs22(vyw300, vyw4000, ty_Bool) → new_esEs10(vyw300, vyw4000)
new_esEs19(vyw300, vyw4000, ty_Int) → new_esEs9(vyw300, vyw4000)
new_ltEs6(vyw2800, vyw2900) → new_not(new_esEs14(new_compare8(vyw2800, vyw2900), GT))
new_esEs20(vyw301, vyw4001, app(ty_Ratio, ga)) → new_esEs13(vyw301, vyw4001, ga)
new_ltEs13(LT, EQ) → True
new_ltEs20(vyw28002, vyw29002, app(ty_[], cbh)) → new_ltEs9(vyw28002, vyw29002, cbh)
new_esEs11([], [], bfe) → True
new_compare0(:(vyw28000, vyw28001), :(vyw29000, vyw29001), bae) → new_primCompAux0(vyw28000, vyw29000, new_compare0(vyw28001, vyw29001, bae), bae)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Double) → new_esEs12(vyw300, vyw4000)
new_compare6(vyw28000, vyw29000, ty_Float) → new_compare17(vyw28000, vyw29000)
new_esEs22(vyw300, vyw4000, app(ty_Maybe, bfg)) → new_esEs6(vyw300, vyw4000, bfg)
new_esEs21(vyw302, vyw4002, app(app(app(ty_@3, bab), bac), bad)) → new_esEs7(vyw302, vyw4002, bab, bac, bad)
new_compare12(:%(vyw28000, vyw28001), :%(vyw29000, vyw29001), ty_Integer) → new_compare19(new_sr0(vyw28000, vyw29001), new_sr0(vyw29000, vyw28001))
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_@0) → new_ltEs15(vyw28000, vyw29000)
new_esEs29(vyw30, vyw400, app(app(app(ty_@3, ec), ed), ee)) → new_esEs7(vyw30, vyw400, ec, ed, ee)
new_ltEs19(vyw2800, vyw2900, app(ty_Maybe, bfa)) → new_ltEs12(vyw2800, vyw2900, bfa)
new_lt15(vyw28000, vyw29000) → new_esEs14(new_compare16(vyw28000, vyw29000), LT)
new_compare6(vyw28000, vyw29000, ty_@0) → new_compare16(vyw28000, vyw29000)
new_esEs8(vyw28000, vyw29000, app(app(ty_@2, bf), bg)) → new_esEs4(vyw28000, vyw29000, bf, bg)
new_lt9(vyw28000, vyw29000, cb) → new_esEs14(new_compare0(vyw28000, vyw29000, cb), LT)
new_compare6(vyw28000, vyw29000, ty_Integer) → new_compare19(vyw28000, vyw29000)
new_ltEs5(vyw28001, vyw29001, ty_Ordering) → new_ltEs13(vyw28001, vyw29001)
new_esEs19(vyw300, vyw4000, app(app(ty_Either, fc), fd)) → new_esEs5(vyw300, vyw4000, fc, fd)
new_ltEs19(vyw2800, vyw2900, ty_Float) → new_ltEs16(vyw2800, vyw2900)
new_esEs5(Left(vyw300), Left(vyw4000), app(ty_Maybe, cgg), cge) → new_esEs6(vyw300, vyw4000, cgg)
new_pePe(False, vyw98) → vyw98
new_esEs26(vyw301, vyw4001, ty_Bool) → new_esEs10(vyw301, vyw4001)
new_esEs19(vyw300, vyw4000, ty_@0) → new_esEs15(vyw300, vyw4000)
new_lt19(vyw28001, vyw29001, ty_Double) → new_lt10(vyw28001, vyw29001)
new_ltEs19(vyw2800, vyw2900, app(app(ty_@2, bd), be)) → new_ltEs4(vyw2800, vyw2900, bd, be)
new_esEs8(vyw28000, vyw29000, ty_Float) → new_esEs16(vyw28000, vyw29000)
new_compare23(vyw28000, vyw29000, True) → EQ
new_esEs28(vyw301, vyw4001, ty_Integer) → new_esEs18(vyw301, vyw4001)
new_lt19(vyw28001, vyw29001, app(ty_[], caf)) → new_lt9(vyw28001, vyw29001, caf)
new_esEs19(vyw300, vyw4000, app(ty_Maybe, eg)) → new_esEs6(vyw300, vyw4000, eg)
new_esEs22(vyw300, vyw4000, ty_@0) → new_esEs15(vyw300, vyw4000)
new_ltEs5(vyw28001, vyw29001, app(app(ty_@2, da), db)) → new_ltEs4(vyw28001, vyw29001, da, db)
new_esEs22(vyw300, vyw4000, app(app(ty_@2, bfh), bga)) → new_esEs4(vyw300, vyw4000, bfh, bga)
new_ltEs14(@3(vyw28000, vyw28001, vyw28002), @3(vyw29000, vyw29001, vyw29002), bfb, bfc, bfd) → new_pePe(new_lt20(vyw28000, vyw29000, bfb), new_asAs(new_esEs23(vyw28000, vyw29000, bfb), new_pePe(new_lt19(vyw28001, vyw29001, bfc), new_asAs(new_esEs24(vyw28001, vyw29001, bfc), new_ltEs20(vyw28002, vyw29002, bfd)))))
new_esEs14(EQ, EQ) → True
new_lt11(vyw28000, vyw29000, cc) → new_esEs14(new_compare12(vyw28000, vyw29000, cc), LT)
new_esEs19(vyw300, vyw4000, ty_Float) → new_esEs16(vyw300, vyw4000)
new_ltEs13(EQ, GT) → True
new_ltEs5(vyw28001, vyw29001, app(app(app(ty_@3, dh), ea), eb)) → new_ltEs14(vyw28001, vyw29001, dh, ea, eb)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Ordering) → new_esEs14(vyw300, vyw4000)
new_esEs29(vyw30, vyw400, app(ty_Ratio, dbc)) → new_esEs13(vyw30, vyw400, dbc)
new_esEs5(Right(vyw300), Right(vyw4000), chh, ty_@0) → new_esEs15(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), app(ty_Ratio, cee)) → new_ltEs11(vyw28000, vyw29000, cee)
new_compare111(vyw28000, vyw29000, False) → GT
new_compare111(vyw28000, vyw29000, True) → LT
new_esEs24(vyw28001, vyw29001, app(ty_[], caf)) → new_esEs11(vyw28001, vyw29001, caf)
new_ltEs5(vyw28001, vyw29001, app(ty_[], de)) → new_ltEs9(vyw28001, vyw29001, de)
new_esEs29(vyw30, vyw400, app(app(ty_@2, dbd), dbe)) → new_esEs4(vyw30, vyw400, dbd, dbe)
new_esEs29(vyw30, vyw400, app(ty_[], bfe)) → new_esEs11(vyw30, vyw400, bfe)
new_lt20(vyw28000, vyw29000, app(app(ty_Either, bhb), bhc)) → new_lt7(vyw28000, vyw29000, bhb, bhc)
new_esEs5(Right(vyw300), Right(vyw4000), chh, app(app(ty_@2, dac), dad)) → new_esEs4(vyw300, vyw4000, dac, dad)
new_esEs5(Right(vyw300), Right(vyw4000), chh, ty_Char) → new_esEs17(vyw300, vyw4000)
new_ltEs20(vyw28002, vyw29002, app(app(ty_@2, cbd), cbe)) → new_ltEs4(vyw28002, vyw29002, cbd, cbe)
new_esEs23(vyw28000, vyw29000, app(app(app(ty_@3, bhg), bhh), caa)) → new_esEs7(vyw28000, vyw29000, bhg, bhh, caa)
new_primCmpNat0(Zero, Succ(vyw290000)) → LT
new_esEs26(vyw301, vyw4001, ty_Double) → new_esEs12(vyw301, vyw4001)
new_esEs20(vyw301, vyw4001, ty_Ordering) → new_esEs14(vyw301, vyw4001)
new_ltEs20(vyw28002, vyw29002, ty_Bool) → new_ltEs8(vyw28002, vyw29002)
new_lt19(vyw28001, vyw29001, app(app(ty_@2, cab), cac)) → new_lt5(vyw28001, vyw29001, cab, cac)
new_lt20(vyw28000, vyw29000, app(app(app(ty_@3, bhg), bhh), caa)) → new_lt14(vyw28000, vyw29000, bhg, bhh, caa)
new_ltEs7(Left(vyw28000), Left(vyw29000), app(ty_Ratio, bcf), bcb) → new_ltEs11(vyw28000, vyw29000, bcf)
new_esEs25(vyw300, vyw4000, app(app(ty_Either, dcc), dcd)) → new_esEs5(vyw300, vyw4000, dcc, dcd)
new_compare24(vyw28000, vyw29000, False, bf, bg) → new_compare110(vyw28000, vyw29000, new_ltEs4(vyw28000, vyw29000, bf, bg), bf, bg)
new_lt20(vyw28000, vyw29000, ty_@0) → new_lt15(vyw28000, vyw29000)
new_esEs21(vyw302, vyw4002, app(ty_Ratio, hc)) → new_esEs13(vyw302, vyw4002, hc)
new_lt19(vyw28001, vyw29001, ty_@0) → new_lt15(vyw28001, vyw29001)
new_esEs7(@3(vyw300, vyw301, vyw302), @3(vyw4000, vyw4001, vyw4002), ec, ed, ee) → new_asAs(new_esEs19(vyw300, vyw4000, ec), new_asAs(new_esEs20(vyw301, vyw4001, ed), new_esEs21(vyw302, vyw4002, ee)))
new_esEs25(vyw300, vyw4000, app(ty_Ratio, dbf)) → new_esEs13(vyw300, vyw4000, dbf)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Double) → new_ltEs10(vyw28000, vyw29000)
new_compare0([], [], bae) → EQ
new_pePe(True, vyw98) → True
new_primEqNat0(Zero, Zero) → True
new_esEs6(Just(vyw300), Just(vyw4000), app(app(app(ty_@3, cgb), cgc), cgd)) → new_esEs7(vyw300, vyw4000, cgb, cgc, cgd)
new_esEs23(vyw28000, vyw29000, ty_Ordering) → new_esEs14(vyw28000, vyw29000)
new_ltEs19(vyw2800, vyw2900, ty_Integer) → new_ltEs18(vyw2800, vyw2900)
new_ltEs5(vyw28001, vyw29001, ty_Bool) → new_ltEs8(vyw28001, vyw29001)
new_esEs29(vyw30, vyw400, app(ty_Maybe, cfb)) → new_esEs6(vyw30, vyw400, cfb)
new_esEs19(vyw300, vyw4000, app(ty_Ratio, ef)) → new_esEs13(vyw300, vyw4000, ef)
new_esEs26(vyw301, vyw4001, ty_Char) → new_esEs17(vyw301, vyw4001)
new_esEs19(vyw300, vyw4000, ty_Bool) → new_esEs10(vyw300, vyw4000)
new_esEs26(vyw301, vyw4001, app(ty_Maybe, dda)) → new_esEs6(vyw301, vyw4001, dda)
new_esEs8(vyw28000, vyw29000, ty_Int) → new_esEs9(vyw28000, vyw29000)
new_esEs5(Left(vyw300), Left(vyw4000), ty_Int, cge) → new_esEs9(vyw300, vyw4000)
new_lt4(vyw28000, vyw29000, ty_Char) → new_lt17(vyw28000, vyw29000)
new_esEs26(vyw301, vyw4001, app(ty_Ratio, dch)) → new_esEs13(vyw301, vyw4001, dch)
new_lt20(vyw28000, vyw29000, app(ty_[], bhd)) → new_lt9(vyw28000, vyw29000, bhd)
new_esEs25(vyw300, vyw4000, ty_Integer) → new_esEs18(vyw300, vyw4000)
new_compare110(vyw28000, vyw29000, False, bf, bg) → GT
new_ltEs15(vyw2800, vyw2900) → new_not(new_esEs14(new_compare16(vyw2800, vyw2900), GT))
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, ty_Double) → new_ltEs10(vyw28000, vyw29000)
new_ltEs20(vyw28002, vyw29002, app(app(app(ty_@3, ccc), ccd), cce)) → new_ltEs14(vyw28002, vyw29002, ccc, ccd, cce)
new_sr(vyw301, vyw4001) → new_primMulInt(vyw301, vyw4001)
new_esEs30(vyw18, vyw13, app(ty_[], cdb)) → new_esEs11(vyw18, vyw13, cdb)
new_esEs11(:(vyw300, vyw301), :(vyw4000, vyw4001), bfe) → new_asAs(new_esEs22(vyw300, vyw4000, bfe), new_esEs11(vyw301, vyw4001, bfe))
new_esEs14(LT, GT) → False
new_esEs14(GT, LT) → False
new_ltEs20(vyw28002, vyw29002, app(ty_Ratio, cca)) → new_ltEs11(vyw28002, vyw29002, cca)
new_primPlusNat0(Succ(vyw1000), vyw400100) → Succ(Succ(new_primPlusNat1(vyw1000, vyw400100)))
new_lt19(vyw28001, vyw29001, app(ty_Ratio, cag)) → new_lt11(vyw28001, vyw29001, cag)
new_esEs25(vyw300, vyw4000, ty_Float) → new_esEs16(vyw300, vyw4000)
new_esEs20(vyw301, vyw4001, app(app(app(ty_@3, gh), ha), hb)) → new_esEs7(vyw301, vyw4001, gh, ha, hb)
new_ltEs18(vyw2800, vyw2900) → new_not(new_esEs14(new_compare19(vyw2800, vyw2900), GT))
new_ltEs19(vyw2800, vyw2900, ty_Double) → new_ltEs10(vyw2800, vyw2900)
new_esEs5(Right(vyw300), Right(vyw4000), chh, app(ty_[], dae)) → new_esEs11(vyw300, vyw4000, dae)
new_lt20(vyw28000, vyw29000, ty_Char) → new_lt17(vyw28000, vyw29000)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_@0, bcb) → new_ltEs15(vyw28000, vyw29000)
new_esEs5(Left(vyw300), Left(vyw4000), app(ty_Ratio, cgf), cge) → new_esEs13(vyw300, vyw4000, cgf)
new_ltEs20(vyw28002, vyw29002, ty_Float) → new_ltEs16(vyw28002, vyw29002)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, ty_@0) → new_ltEs15(vyw28000, vyw29000)
new_lt4(vyw28000, vyw29000, app(app(ty_Either, bh), ca)) → new_lt7(vyw28000, vyw29000, bh, ca)
new_lt14(vyw28000, vyw29000, ce, cf, cg) → new_esEs14(new_compare15(vyw28000, vyw29000, ce, cf, cg), LT)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Int, bcb) → new_ltEs6(vyw28000, vyw29000)
new_lt19(vyw28001, vyw29001, ty_Bool) → new_lt8(vyw28001, vyw29001)
new_primEqInt(Neg(Succ(vyw3000)), Neg(Succ(vyw40000))) → new_primEqNat0(vyw3000, vyw40000)
new_lt20(vyw28000, vyw29000, app(ty_Ratio, bhe)) → new_lt11(vyw28000, vyw29000, bhe)
new_compare6(vyw28000, vyw29000, ty_Bool) → new_compare10(vyw28000, vyw29000)
new_compare28(vyw28000, vyw29000, False) → new_compare113(vyw28000, vyw29000, new_ltEs13(vyw28000, vyw29000))
new_ltEs5(vyw28001, vyw29001, ty_Char) → new_ltEs17(vyw28001, vyw29001)
new_primCompAux0(vyw28000, vyw29000, vyw99, bae) → new_primCompAux00(vyw99, new_compare6(vyw28000, vyw29000, bae))
new_compare6(vyw28000, vyw29000, ty_Int) → new_compare8(vyw28000, vyw29000)
new_esEs12(Double(vyw300, vyw301), Double(vyw4000, vyw4001)) → new_esEs9(new_sr(vyw300, vyw4000), new_sr(vyw301, vyw4001))
new_esEs19(vyw300, vyw4000, ty_Ordering) → new_esEs14(vyw300, vyw4000)
new_primPlusNat1(Succ(vyw10000), Zero) → Succ(vyw10000)
new_primPlusNat1(Zero, Succ(vyw4001000)) → Succ(vyw4001000)
new_lt4(vyw28000, vyw29000, ty_Integer) → new_lt18(vyw28000, vyw29000)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Bool) → new_ltEs8(vyw28000, vyw29000)
new_compare25(Just(vyw2800), Nothing, False, beg) → GT
new_compare6(vyw28000, vyw29000, app(ty_Ratio, bbc)) → new_compare12(vyw28000, vyw29000, bbc)
new_esEs8(vyw28000, vyw29000, ty_@0) → new_esEs15(vyw28000, vyw29000)
new_esEs29(vyw30, vyw400, app(app(ty_Either, chh), cge)) → new_esEs5(vyw30, vyw400, chh, cge)
new_compare25(Nothing, Nothing, False, beg) → LT
new_ltEs8(True, True) → True
new_esEs26(vyw301, vyw4001, app(app(app(ty_@3, ddg), ddh), dea)) → new_esEs7(vyw301, vyw4001, ddg, ddh, dea)
new_esEs21(vyw302, vyw4002, ty_Ordering) → new_esEs14(vyw302, vyw4002)
new_esEs21(vyw302, vyw4002, ty_@0) → new_esEs15(vyw302, vyw4002)
new_ltEs13(LT, GT) → True
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, ty_Bool) → new_ltEs8(vyw28000, vyw29000)
new_esEs5(Left(vyw300), Left(vyw4000), app(app(app(ty_@3, che), chf), chg), cge) → new_esEs7(vyw300, vyw4000, che, chf, chg)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs24(vyw28001, vyw29001, ty_Bool) → new_esEs10(vyw28001, vyw29001)
new_ltEs7(Right(vyw28000), Left(vyw29000), bdc, bcb) → False
new_compare6(vyw28000, vyw29000, ty_Ordering) → new_compare14(vyw28000, vyw29000)
new_esEs30(vyw18, vyw13, app(app(app(ty_@3, cde), cdf), cdg)) → new_esEs7(vyw18, vyw13, cde, cdf, cdg)
new_esEs8(vyw28000, vyw29000, app(ty_Ratio, cc)) → new_esEs13(vyw28000, vyw29000, cc)
new_compare8(vyw2800, vyw2900) → new_primCmpInt(vyw2800, vyw2900)
new_primEqInt(Neg(Succ(vyw3000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(vyw40000))) → False
new_lt12(vyw28000, vyw29000, cd) → new_esEs14(new_compare13(vyw28000, vyw29000, cd), LT)
new_lt20(vyw28000, vyw29000, ty_Ordering) → new_lt13(vyw28000, vyw29000)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, app(ty_Ratio, bea)) → new_ltEs11(vyw28000, vyw29000, bea)
new_compare24(vyw28000, vyw29000, True, bf, bg) → EQ
new_lt4(vyw28000, vyw29000, ty_Bool) → new_lt8(vyw28000, vyw29000)
new_esEs10(False, False) → True
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, ty_Char) → new_ltEs17(vyw28000, vyw29000)
new_ltEs19(vyw2800, vyw2900, ty_Char) → new_ltEs17(vyw2800, vyw2900)
new_esEs5(Right(vyw300), Right(vyw4000), chh, ty_Int) → new_esEs9(vyw300, vyw4000)
new_esEs21(vyw302, vyw4002, ty_Integer) → new_esEs18(vyw302, vyw4002)
new_lt4(vyw28000, vyw29000, app(ty_Ratio, cc)) → new_lt11(vyw28000, vyw29000, cc)
new_ltEs7(Left(vyw28000), Left(vyw29000), app(app(ty_@2, bbh), bca), bcb) → new_ltEs4(vyw28000, vyw29000, bbh, bca)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_esEs5(Right(vyw300), Right(vyw4000), chh, ty_Bool) → new_esEs10(vyw300, vyw4000)
new_esEs5(Left(vyw300), Left(vyw4000), app(ty_[], chb), cge) → new_esEs11(vyw300, vyw4000, chb)
new_lt19(vyw28001, vyw29001, ty_Int) → new_lt6(vyw28001, vyw29001)
new_primCmpNat0(Succ(vyw280000), Succ(vyw290000)) → new_primCmpNat0(vyw280000, vyw290000)
new_esEs5(Right(vyw300), Right(vyw4000), chh, ty_Integer) → new_esEs18(vyw300, vyw4000)
new_esEs30(vyw18, vyw13, ty_@0) → new_esEs15(vyw18, vyw13)
new_esEs6(Nothing, Nothing, cfb) → True
new_esEs29(vyw30, vyw400, ty_Ordering) → new_esEs14(vyw30, vyw400)
new_ltEs13(GT, LT) → False
new_primEqInt(Pos(Succ(vyw3000)), Pos(Succ(vyw40000))) → new_primEqNat0(vyw3000, vyw40000)
new_compare27(vyw28000, vyw29000, True, bh, ca) → EQ
new_esEs21(vyw302, vyw4002, app(ty_Maybe, hd)) → new_esEs6(vyw302, vyw4002, hd)
new_ltEs13(EQ, EQ) → True
new_esEs23(vyw28000, vyw29000, ty_Char) → new_esEs17(vyw28000, vyw29000)
new_lt4(vyw28000, vyw29000, app(ty_Maybe, cd)) → new_lt12(vyw28000, vyw29000, cd)
new_ltEs17(vyw2800, vyw2900) → new_not(new_esEs14(new_compare18(vyw2800, vyw2900), GT))
new_esEs25(vyw300, vyw4000, ty_Int) → new_esEs9(vyw300, vyw4000)
new_esEs5(Right(vyw300), Right(vyw4000), chh, app(app(ty_Either, daf), dag)) → new_esEs5(vyw300, vyw4000, daf, dag)
new_esEs8(vyw28000, vyw29000, ty_Integer) → new_esEs18(vyw28000, vyw29000)
new_esEs6(Just(vyw300), Nothing, cfb) → False
new_esEs6(Nothing, Just(vyw4000), cfb) → False
new_primEqNat0(Succ(vyw3000), Succ(vyw40000)) → new_primEqNat0(vyw3000, vyw40000)
new_lt5(vyw28000, vyw29000, bf, bg) → new_esEs14(new_compare7(vyw28000, vyw29000, bf, bg), LT)
new_esEs30(vyw18, vyw13, ty_Integer) → new_esEs18(vyw18, vyw13)
new_primCompAux00(vyw109, LT) → LT
new_esEs26(vyw301, vyw4001, app(ty_[], ddd)) → new_esEs11(vyw301, vyw4001, ddd)
new_primCmpInt(Neg(Succ(vyw280000)), Neg(vyw29000)) → new_primCmpNat0(vyw29000, Succ(vyw280000))
new_ltEs19(vyw2800, vyw2900, app(app(ty_Either, bdc), bcb)) → new_ltEs7(vyw2800, vyw2900, bdc, bcb)
new_compare114(vyw28000, vyw29000, True, bh, ca) → LT
new_esEs26(vyw301, vyw4001, app(app(ty_@2, ddb), ddc)) → new_esEs4(vyw301, vyw4001, ddb, ddc)
new_compare115(vyw28000, vyw29000, True, ce, cf, cg) → LT
new_ltEs7(Left(vyw28000), Left(vyw29000), app(ty_[], bce), bcb) → new_ltEs9(vyw28000, vyw29000, bce)
new_lt19(vyw28001, vyw29001, app(app(ty_Either, cad), cae)) → new_lt7(vyw28001, vyw29001, cad, cae)
new_ltEs19(vyw2800, vyw2900, ty_Bool) → new_ltEs8(vyw2800, vyw2900)
new_primEqInt(Pos(Zero), Pos(Succ(vyw40000))) → False
new_primEqInt(Pos(Succ(vyw3000)), Pos(Zero)) → False
new_ltEs20(vyw28002, vyw29002, app(ty_Maybe, ccb)) → new_ltEs12(vyw28002, vyw29002, ccb)
new_lt4(vyw28000, vyw29000, app(ty_[], cb)) → new_lt9(vyw28000, vyw29000, cb)
new_esEs30(vyw18, vyw13, ty_Float) → new_esEs16(vyw18, vyw13)
new_lt13(vyw28000, vyw29000) → new_esEs14(new_compare14(vyw28000, vyw29000), LT)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(vyw280000), Zero) → GT
new_ltEs12(Just(vyw28000), Just(vyw29000), app(app(ty_@2, cdh), cea)) → new_ltEs4(vyw28000, vyw29000, cdh, cea)
new_compare9(vyw28000, vyw29000, bh, ca) → new_compare27(vyw28000, vyw29000, new_esEs5(vyw28000, vyw29000, bh, ca), bh, ca)
new_esEs24(vyw28001, vyw29001, ty_@0) → new_esEs15(vyw28001, vyw29001)
new_primCmpInt(Neg(Zero), Pos(Succ(vyw290000))) → LT
new_esEs20(vyw301, vyw4001, app(app(ty_Either, gf), gg)) → new_esEs5(vyw301, vyw4001, gf, gg)
new_esEs22(vyw300, vyw4000, app(ty_Ratio, bff)) → new_esEs13(vyw300, vyw4000, bff)
new_sr0(Integer(vyw280000), Integer(vyw290010)) → Integer(new_primMulInt(vyw280000, vyw290010))
new_lt4(vyw28000, vyw29000, app(app(ty_@2, bf), bg)) → new_lt5(vyw28000, vyw29000, bf, bg)
new_primPlusNat1(Succ(vyw10000), Succ(vyw4001000)) → Succ(Succ(new_primPlusNat1(vyw10000, vyw4001000)))
new_ltEs11(vyw2800, vyw2900, beh) → new_not(new_esEs14(new_compare12(vyw2800, vyw2900, beh), GT))
new_primEqInt(Neg(Succ(vyw3000)), Pos(vyw4000)) → False
new_primEqInt(Pos(Succ(vyw3000)), Neg(vyw4000)) → False
new_esEs24(vyw28001, vyw29001, app(ty_Ratio, cag)) → new_esEs13(vyw28001, vyw29001, cag)
new_ltEs12(Just(vyw28000), Just(vyw29000), app(ty_Maybe, cef)) → new_ltEs12(vyw28000, vyw29000, cef)
new_esEs24(vyw28001, vyw29001, app(app(ty_@2, cab), cac)) → new_esEs4(vyw28001, vyw29001, cab, cac)
new_esEs5(Right(vyw300), Right(vyw4000), chh, ty_Ordering) → new_esEs14(vyw300, vyw4000)
new_compare6(vyw28000, vyw29000, app(app(ty_Either, bah), bba)) → new_compare9(vyw28000, vyw29000, bah, bba)
new_esEs8(vyw28000, vyw29000, app(app(ty_Either, bh), ca)) → new_esEs5(vyw28000, vyw29000, bh, ca)
new_ltEs19(vyw2800, vyw2900, ty_@0) → new_ltEs15(vyw2800, vyw2900)
new_ltEs20(vyw28002, vyw29002, ty_Double) → new_ltEs10(vyw28002, vyw29002)
new_esEs11([], :(vyw4000, vyw4001), bfe) → False
new_esEs11(:(vyw300, vyw301), [], bfe) → False
new_ltEs20(vyw28002, vyw29002, ty_Integer) → new_ltEs18(vyw28002, vyw29002)
new_esEs26(vyw301, vyw4001, ty_Int) → new_esEs9(vyw301, vyw4001)
new_esEs8(vyw28000, vyw29000, ty_Char) → new_esEs17(vyw28000, vyw29000)
new_primEqInt(Pos(Zero), Neg(Succ(vyw40000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(vyw40000))) → False
new_esEs4(@2(vyw300, vyw301), @2(vyw4000, vyw4001), dbd, dbe) → new_asAs(new_esEs25(vyw300, vyw4000, dbd), new_esEs26(vyw301, vyw4001, dbe))
new_esEs5(Left(vyw300), Left(vyw4000), app(app(ty_@2, cgh), cha), cge) → new_esEs4(vyw300, vyw4000, cgh, cha)
new_esEs22(vyw300, vyw4000, app(ty_[], bgb)) → new_esEs11(vyw300, vyw4000, bgb)
new_compare23(vyw28000, vyw29000, False) → new_compare111(vyw28000, vyw29000, new_ltEs8(vyw28000, vyw29000))
new_primCmpInt(Pos(Zero), Pos(Succ(vyw290000))) → new_primCmpNat0(Zero, Succ(vyw290000))
new_primCompAux00(vyw109, EQ) → vyw109
new_esEs20(vyw301, vyw4001, ty_Bool) → new_esEs10(vyw301, vyw4001)
new_compare7(vyw28000, vyw29000, bf, bg) → new_compare24(vyw28000, vyw29000, new_esEs4(vyw28000, vyw29000, bf, bg), bf, bg)
new_ltEs13(GT, EQ) → False
new_esEs24(vyw28001, vyw29001, ty_Ordering) → new_esEs14(vyw28001, vyw29001)
new_compare25(Nothing, Just(vyw2900), False, beg) → LT
new_ltEs13(EQ, LT) → False
new_esEs29(vyw30, vyw400, ty_Double) → new_esEs12(vyw30, vyw400)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Int) → new_esEs9(vyw300, vyw4000)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Bool) → new_esEs10(vyw300, vyw4000)
new_esEs25(vyw300, vyw4000, ty_Bool) → new_esEs10(vyw300, vyw4000)
new_esEs26(vyw301, vyw4001, ty_Float) → new_esEs16(vyw301, vyw4001)
new_compare6(vyw28000, vyw29000, ty_Double) → new_compare11(vyw28000, vyw29000)
new_ltEs8(True, False) → False
new_esEs24(vyw28001, vyw29001, ty_Integer) → new_esEs18(vyw28001, vyw29001)
new_compare113(vyw28000, vyw29000, True) → LT
new_not(False) → True
new_esEs22(vyw300, vyw4000, ty_Ordering) → new_esEs14(vyw300, vyw4000)
new_compare6(vyw28000, vyw29000, ty_Char) → new_compare18(vyw28000, vyw29000)
new_compare114(vyw28000, vyw29000, False, bh, ca) → GT
new_lt20(vyw28000, vyw29000, ty_Bool) → new_lt8(vyw28000, vyw29000)
new_esEs30(vyw18, vyw13, ty_Double) → new_esEs12(vyw18, vyw13)
new_esEs8(vyw28000, vyw29000, app(ty_Maybe, cd)) → new_esEs6(vyw28000, vyw29000, cd)
new_primCmpInt(Pos(Succ(vyw280000)), Pos(vyw29000)) → new_primCmpNat0(Succ(vyw280000), vyw29000)
new_ltEs20(vyw28002, vyw29002, ty_Ordering) → new_ltEs13(vyw28002, vyw29002)
new_esEs23(vyw28000, vyw29000, ty_@0) → new_esEs15(vyw28000, vyw29000)
new_primPlusNat0(Zero, vyw400100) → Succ(vyw400100)
new_ltEs5(vyw28001, vyw29001, app(ty_Ratio, df)) → new_ltEs11(vyw28001, vyw29001, df)
new_esEs8(vyw28000, vyw29000, app(ty_[], cb)) → new_esEs11(vyw28000, vyw29000, cb)
new_esEs19(vyw300, vyw4000, ty_Char) → new_esEs17(vyw300, vyw4000)
new_compare113(vyw28000, vyw29000, False) → GT
new_esEs19(vyw300, vyw4000, ty_Double) → new_esEs12(vyw300, vyw4000)
new_ltEs19(vyw2800, vyw2900, ty_Int) → new_ltEs6(vyw2800, vyw2900)
new_esEs25(vyw300, vyw4000, ty_@0) → new_esEs15(vyw300, vyw4000)
new_esEs20(vyw301, vyw4001, app(ty_[], ge)) → new_esEs11(vyw301, vyw4001, ge)
new_compare0(:(vyw28000, vyw28001), [], bae) → GT
new_lt20(vyw28000, vyw29000, ty_Int) → new_lt6(vyw28000, vyw29000)
new_compare28(vyw28000, vyw29000, True) → EQ
new_esEs26(vyw301, vyw4001, app(app(ty_Either, dde), ddf)) → new_esEs5(vyw301, vyw4001, dde, ddf)
new_lt8(vyw28000, vyw29000) → new_esEs14(new_compare10(vyw28000, vyw29000), LT)
new_primCmpInt(Pos(Succ(vyw280000)), Neg(vyw29000)) → GT
new_esEs22(vyw300, vyw4000, app(app(app(ty_@3, bge), bgf), bgg)) → new_esEs7(vyw300, vyw4000, bge, bgf, bgg)
new_esEs8(vyw28000, vyw29000, app(app(app(ty_@3, ce), cf), cg)) → new_esEs7(vyw28000, vyw29000, ce, cf, cg)
new_ltEs12(Just(vyw28000), Just(vyw29000), app(app(ty_Either, ceb), cec)) → new_ltEs7(vyw28000, vyw29000, ceb, cec)
new_lt19(vyw28001, vyw29001, ty_Char) → new_lt17(vyw28001, vyw29001)
new_lt19(vyw28001, vyw29001, app(app(app(ty_@3, cba), cbb), cbc)) → new_lt14(vyw28001, vyw29001, cba, cbb, cbc)
new_compare115(vyw28000, vyw29000, False, ce, cf, cg) → GT
new_lt19(vyw28001, vyw29001, ty_Float) → new_lt16(vyw28001, vyw29001)
new_primMulInt(Pos(vyw3010), Pos(vyw40010)) → Pos(new_primMulNat0(vyw3010, vyw40010))
new_esEs21(vyw302, vyw4002, app(app(ty_@2, he), hf)) → new_esEs4(vyw302, vyw4002, he, hf)
new_lt4(vyw28000, vyw29000, ty_@0) → new_lt15(vyw28000, vyw29000)
new_compare19(Integer(vyw28000), Integer(vyw29000)) → new_primCmpInt(vyw28000, vyw29000)
new_esEs10(True, True) → True
new_esEs30(vyw18, vyw13, ty_Ordering) → new_esEs14(vyw18, vyw13)
new_esEs5(Right(vyw300), Left(vyw4000), chh, cge) → False
new_esEs5(Left(vyw300), Right(vyw4000), chh, cge) → False
new_lt4(vyw28000, vyw29000, ty_Float) → new_lt16(vyw28000, vyw29000)
new_primMulInt(Neg(vyw3010), Neg(vyw40010)) → Pos(new_primMulNat0(vyw3010, vyw40010))
new_ltEs5(vyw28001, vyw29001, app(ty_Maybe, dg)) → new_ltEs12(vyw28001, vyw29001, dg)
new_ltEs8(False, False) → True
new_primEqNat0(Succ(vyw3000), Zero) → False
new_primEqNat0(Zero, Succ(vyw40000)) → False
new_esEs21(vyw302, vyw4002, ty_Int) → new_esEs9(vyw302, vyw4002)
new_ltEs19(vyw2800, vyw2900, app(app(app(ty_@3, bfb), bfc), bfd)) → new_ltEs14(vyw2800, vyw2900, bfb, bfc, bfd)
new_ltEs7(Left(vyw28000), Left(vyw29000), app(app(ty_Either, bcc), bcd), bcb) → new_ltEs7(vyw28000, vyw29000, bcc, bcd)
new_esEs25(vyw300, vyw4000, app(ty_Maybe, dbg)) → new_esEs6(vyw300, vyw4000, dbg)
new_esEs20(vyw301, vyw4001, ty_@0) → new_esEs15(vyw301, vyw4001)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_ltEs16(vyw2800, vyw2900) → new_not(new_esEs14(new_compare17(vyw2800, vyw2900), GT))
new_esEs25(vyw300, vyw4000, app(ty_[], dcb)) → new_esEs11(vyw300, vyw4000, dcb)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, app(app(app(ty_@3, bec), bed), bee)) → new_ltEs14(vyw28000, vyw29000, bec, bed, bee)
new_esEs22(vyw300, vyw4000, ty_Int) → new_esEs9(vyw300, vyw4000)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, app(ty_Maybe, beb)) → new_ltEs12(vyw28000, vyw29000, beb)
new_esEs26(vyw301, vyw4001, ty_Ordering) → new_esEs14(vyw301, vyw4001)
new_ltEs5(vyw28001, vyw29001, ty_Int) → new_ltEs6(vyw28001, vyw29001)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Char, bcb) → new_ltEs17(vyw28000, vyw29000)
new_esEs24(vyw28001, vyw29001, ty_Int) → new_esEs9(vyw28001, vyw29001)
new_lt4(vyw28000, vyw29000, ty_Int) → new_lt6(vyw28000, vyw29000)
new_esEs14(LT, EQ) → False
new_esEs14(EQ, LT) → False
new_esEs21(vyw302, vyw4002, ty_Char) → new_esEs17(vyw302, vyw4002)
new_primCmpInt(Neg(Zero), Neg(Succ(vyw290000))) → new_primCmpNat0(Succ(vyw290000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(vyw290000))) → GT
new_lt20(vyw28000, vyw29000, ty_Float) → new_lt16(vyw28000, vyw29000)
new_esEs29(vyw30, vyw400, ty_@0) → new_esEs15(vyw30, vyw400)
new_esEs5(Right(vyw300), Right(vyw4000), chh, app(app(app(ty_@3, dah), dba), dbb)) → new_esEs7(vyw300, vyw4000, dah, dba, dbb)
new_esEs27(vyw300, vyw4000, ty_Int) → new_esEs9(vyw300, vyw4000)
new_esEs5(Left(vyw300), Left(vyw4000), ty_Integer, cge) → new_esEs18(vyw300, vyw4000)
new_esEs23(vyw28000, vyw29000, app(ty_[], bhd)) → new_esEs11(vyw28000, vyw29000, bhd)
new_compare26(vyw28000, vyw29000, False, ce, cf, cg) → new_compare115(vyw28000, vyw29000, new_ltEs14(vyw28000, vyw29000, ce, cf, cg), ce, cf, cg)
new_esEs6(Just(vyw300), Just(vyw4000), app(app(ty_Either, cfh), cga)) → new_esEs5(vyw300, vyw4000, cfh, cga)
new_lt4(vyw28000, vyw29000, ty_Ordering) → new_lt13(vyw28000, vyw29000)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Double, bcb) → new_ltEs10(vyw28000, vyw29000)
new_ltEs9(vyw2800, vyw2900, bae) → new_not(new_esEs14(new_compare0(vyw2800, vyw2900, bae), GT))
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Ordering, bcb) → new_ltEs13(vyw28000, vyw29000)
new_esEs29(vyw30, vyw400, ty_Bool) → new_esEs10(vyw30, vyw400)
new_esEs14(EQ, GT) → False
new_esEs14(GT, EQ) → False
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs24(vyw28001, vyw29001, app(app(app(ty_@3, cba), cbb), cbc)) → new_esEs7(vyw28001, vyw29001, cba, cbb, cbc)
new_compare17(Float(vyw28000, vyw28001), Float(vyw29000, vyw29001)) → new_compare8(new_sr(vyw28000, vyw29000), new_sr(vyw28001, vyw29001))
new_esEs5(Left(vyw300), Left(vyw4000), ty_Bool, cge) → new_esEs10(vyw300, vyw4000)
new_esEs20(vyw301, vyw4001, app(ty_Maybe, gb)) → new_esEs6(vyw301, vyw4001, gb)
new_compare13(vyw28000, vyw29000, cd) → new_compare25(vyw28000, vyw29000, new_esEs6(vyw28000, vyw29000, cd), cd)
new_lt19(vyw28001, vyw29001, ty_Ordering) → new_lt13(vyw28001, vyw29001)
new_ltEs13(GT, GT) → True
new_esEs24(vyw28001, vyw29001, ty_Double) → new_esEs12(vyw28001, vyw29001)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, app(app(ty_Either, bdf), bdg)) → new_ltEs7(vyw28000, vyw29000, bdf, bdg)
new_esEs15(@0, @0) → True
new_lt17(vyw28000, vyw29000) → new_esEs14(new_compare18(vyw28000, vyw29000), LT)
new_esEs13(:%(vyw300, vyw301), :%(vyw4000, vyw4001), dbc) → new_asAs(new_esEs27(vyw300, vyw4000, dbc), new_esEs28(vyw301, vyw4001, dbc))
new_asAs(False, vyw91) → False
new_esEs22(vyw300, vyw4000, ty_Double) → new_esEs12(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Integer) → new_ltEs18(vyw28000, vyw29000)
new_primMulInt(Pos(vyw3010), Neg(vyw40010)) → Neg(new_primMulNat0(vyw3010, vyw40010))
new_primMulInt(Neg(vyw3010), Pos(vyw40010)) → Neg(new_primMulNat0(vyw3010, vyw40010))
new_esEs6(Just(vyw300), Just(vyw4000), app(ty_[], cfg)) → new_esEs11(vyw300, vyw4000, cfg)
new_esEs22(vyw300, vyw4000, ty_Integer) → new_esEs18(vyw300, vyw4000)
new_primMulNat0(Succ(vyw30100), Zero) → Zero
new_primMulNat0(Zero, Succ(vyw400100)) → Zero
new_esEs21(vyw302, vyw4002, app(app(ty_Either, hh), baa)) → new_esEs5(vyw302, vyw4002, hh, baa)
new_esEs6(Just(vyw300), Just(vyw4000), app(ty_Maybe, cfd)) → new_esEs6(vyw300, vyw4000, cfd)
new_esEs19(vyw300, vyw4000, app(ty_[], fb)) → new_esEs11(vyw300, vyw4000, fb)
new_esEs23(vyw28000, vyw29000, ty_Int) → new_esEs9(vyw28000, vyw29000)
new_esEs29(vyw30, vyw400, ty_Char) → new_esEs17(vyw30, vyw400)
new_esEs30(vyw18, vyw13, app(ty_Ratio, ccf)) → new_esEs13(vyw18, vyw13, ccf)
new_esEs27(vyw300, vyw4000, ty_Integer) → new_esEs18(vyw300, vyw4000)
new_esEs20(vyw301, vyw4001, ty_Float) → new_esEs16(vyw301, vyw4001)
new_esEs18(Integer(vyw300), Integer(vyw4000)) → new_primEqInt(vyw300, vyw4000)
new_esEs6(Just(vyw300), Just(vyw4000), app(app(ty_@2, cfe), cff)) → new_esEs4(vyw300, vyw4000, cfe, cff)
new_lt19(vyw28001, vyw29001, app(ty_Maybe, cah)) → new_lt12(vyw28001, vyw29001, cah)
new_esEs23(vyw28000, vyw29000, app(ty_Maybe, bhf)) → new_esEs6(vyw28000, vyw29000, bhf)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Float, bcb) → new_ltEs16(vyw28000, vyw29000)
new_lt4(vyw28000, vyw29000, app(app(app(ty_@3, ce), cf), cg)) → new_lt14(vyw28000, vyw29000, ce, cf, cg)
new_esEs8(vyw28000, vyw29000, ty_Bool) → new_esEs10(vyw28000, vyw29000)
new_ltEs12(Nothing, Just(vyw29000), bfa) → True
new_ltEs7(Left(vyw28000), Left(vyw29000), app(ty_Maybe, bcg), bcb) → new_ltEs12(vyw28000, vyw29000, bcg)
new_esEs14(GT, GT) → True
new_esEs8(vyw28000, vyw29000, ty_Ordering) → new_esEs14(vyw28000, vyw29000)
new_esEs20(vyw301, vyw4001, app(app(ty_@2, gc), gd)) → new_esEs4(vyw301, vyw4001, gc, gd)
new_ltEs7(Left(vyw28000), Left(vyw29000), app(app(app(ty_@3, bch), bda), bdb), bcb) → new_ltEs14(vyw28000, vyw29000, bch, bda, bdb)
new_esEs30(vyw18, vyw13, app(app(ty_Either, cdc), cdd)) → new_esEs5(vyw18, vyw13, cdc, cdd)
new_esEs23(vyw28000, vyw29000, ty_Bool) → new_esEs10(vyw28000, vyw29000)
new_esEs5(Left(vyw300), Left(vyw4000), ty_@0, cge) → new_esEs15(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Ordering) → new_ltEs13(vyw28000, vyw29000)
new_esEs5(Right(vyw300), Right(vyw4000), chh, app(ty_Maybe, dab)) → new_esEs6(vyw300, vyw4000, dab)
new_esEs22(vyw300, vyw4000, ty_Float) → new_esEs16(vyw300, vyw4000)
new_ltEs12(Just(vyw28000), Just(vyw29000), app(app(app(ty_@3, ceg), ceh), cfa)) → new_ltEs14(vyw28000, vyw29000, ceg, ceh, cfa)
new_esEs25(vyw300, vyw4000, app(app(app(ty_@3, dce), dcf), dcg)) → new_esEs7(vyw300, vyw4000, dce, dcf, dcg)
new_ltEs20(vyw28002, vyw29002, app(app(ty_Either, cbf), cbg)) → new_ltEs7(vyw28002, vyw29002, cbf, cbg)
new_compare12(:%(vyw28000, vyw28001), :%(vyw29000, vyw29001), ty_Int) → new_compare8(new_sr(vyw28000, vyw29001), new_sr(vyw29000, vyw28001))
new_compare25(Just(vyw2800), Just(vyw2900), False, beg) → new_compare112(vyw2800, vyw2900, new_ltEs19(vyw2800, vyw2900, beg), beg)
new_esEs30(vyw18, vyw13, ty_Bool) → new_esEs10(vyw18, vyw13)
new_esEs26(vyw301, vyw4001, ty_Integer) → new_esEs18(vyw301, vyw4001)
new_ltEs12(Just(vyw28000), Just(vyw29000), ty_Char) → new_ltEs17(vyw28000, vyw29000)
new_esEs5(Left(vyw300), Left(vyw4000), app(app(ty_Either, chc), chd), cge) → new_esEs5(vyw300, vyw4000, chc, chd)
new_compare18(Char(vyw28000), Char(vyw29000)) → new_primCmpNat0(vyw28000, vyw29000)
new_ltEs5(vyw28001, vyw29001, ty_Double) → new_ltEs10(vyw28001, vyw29001)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Float) → new_esEs16(vyw300, vyw4000)
new_esEs21(vyw302, vyw4002, ty_Double) → new_esEs12(vyw302, vyw4002)
new_esEs21(vyw302, vyw4002, app(ty_[], hg)) → new_esEs11(vyw302, vyw4002, hg)
new_esEs28(vyw301, vyw4001, ty_Int) → new_esEs9(vyw301, vyw4001)
new_esEs6(Just(vyw300), Just(vyw4000), ty_Integer) → new_esEs18(vyw300, vyw4000)
new_compare112(vyw84, vyw85, False, bef) → GT
new_esEs30(vyw18, vyw13, ty_Char) → new_esEs17(vyw18, vyw13)
new_ltEs13(LT, LT) → True
new_esEs23(vyw28000, vyw29000, ty_Double) → new_esEs12(vyw28000, vyw29000)
new_esEs20(vyw301, vyw4001, ty_Char) → new_esEs17(vyw301, vyw4001)
new_compare26(vyw28000, vyw29000, True, ce, cf, cg) → EQ
new_esEs6(Just(vyw300), Just(vyw4000), ty_@0) → new_esEs15(vyw300, vyw4000)
new_lt7(vyw28000, vyw29000, bh, ca) → new_esEs14(new_compare9(vyw28000, vyw29000, bh, ca), LT)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Integer, bcb) → new_ltEs18(vyw28000, vyw29000)
new_compare0([], :(vyw29000, vyw29001), bae) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_ltEs5(vyw28001, vyw29001, app(app(ty_Either, dc), dd)) → new_ltEs7(vyw28001, vyw29001, dc, dd)
new_esEs24(vyw28001, vyw29001, ty_Float) → new_esEs16(vyw28001, vyw29001)
new_asAs(True, vyw91) → vyw91
new_esEs5(Right(vyw300), Right(vyw4000), chh, ty_Double) → new_esEs12(vyw300, vyw4000)
new_ltEs5(vyw28001, vyw29001, ty_Float) → new_ltEs16(vyw28001, vyw29001)
new_primMulNat0(Succ(vyw30100), Succ(vyw400100)) → new_primPlusNat0(new_primMulNat0(vyw30100, Succ(vyw400100)), vyw400100)
new_ltEs5(vyw28001, vyw29001, ty_Integer) → new_ltEs18(vyw28001, vyw29001)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, ty_Ordering) → new_ltEs13(vyw28000, vyw29000)
new_esEs10(False, True) → False
new_esEs10(True, False) → False
new_esEs14(LT, LT) → True
new_ltEs12(Just(vyw28000), Nothing, bfa) → False
new_lt16(vyw28000, vyw29000) → new_esEs14(new_compare17(vyw28000, vyw29000), LT)
new_esEs5(Left(vyw300), Left(vyw4000), ty_Float, cge) → new_esEs16(vyw300, vyw4000)
new_esEs29(vyw30, vyw400, ty_Integer) → new_esEs18(vyw30, vyw400)
new_esEs20(vyw301, vyw4001, ty_Integer) → new_esEs18(vyw301, vyw4001)
new_compare6(vyw28000, vyw29000, app(ty_Maybe, bbd)) → new_compare13(vyw28000, vyw29000, bbd)
new_esEs25(vyw300, vyw4000, ty_Ordering) → new_esEs14(vyw300, vyw4000)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, ty_Float) → new_ltEs16(vyw28000, vyw29000)
new_esEs9(vyw30, vyw400) → new_primEqInt(vyw30, vyw400)
new_ltEs7(Left(vyw28000), Left(vyw29000), ty_Bool, bcb) → new_ltEs8(vyw28000, vyw29000)
new_esEs24(vyw28001, vyw29001, app(ty_Maybe, cah)) → new_esEs6(vyw28001, vyw29001, cah)
new_esEs21(vyw302, vyw4002, ty_Bool) → new_esEs10(vyw302, vyw4002)
new_ltEs20(vyw28002, vyw29002, ty_Int) → new_ltEs6(vyw28002, vyw29002)
new_lt10(vyw28000, vyw29000) → new_esEs14(new_compare11(vyw28000, vyw29000), LT)
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, ty_Integer) → new_ltEs18(vyw28000, vyw29000)
new_esEs19(vyw300, vyw4000, ty_Integer) → new_esEs18(vyw300, vyw4000)
new_ltEs5(vyw28001, vyw29001, ty_@0) → new_ltEs15(vyw28001, vyw29001)
new_esEs22(vyw300, vyw4000, app(app(ty_Either, bgc), bgd)) → new_esEs5(vyw300, vyw4000, bgc, bgd)
new_lt20(vyw28000, vyw29000, ty_Double) → new_lt10(vyw28000, vyw29000)
new_primCompAux00(vyw109, GT) → GT
new_esEs21(vyw302, vyw4002, ty_Float) → new_esEs16(vyw302, vyw4002)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs19(vyw300, vyw4000, app(app(ty_@2, eh), fa)) → new_esEs4(vyw300, vyw4000, eh, fa)
new_ltEs10(vyw2800, vyw2900) → new_not(new_esEs14(new_compare11(vyw2800, vyw2900), GT))
new_lt20(vyw28000, vyw29000, app(ty_Maybe, bhf)) → new_lt12(vyw28000, vyw29000, bhf)
new_esEs5(Right(vyw300), Right(vyw4000), chh, app(ty_Ratio, daa)) → new_esEs13(vyw300, vyw4000, daa)
new_ltEs20(vyw28002, vyw29002, ty_Char) → new_ltEs17(vyw28002, vyw29002)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_esEs30(vyw18, vyw13, app(app(ty_@2, cch), cda)) → new_esEs4(vyw18, vyw13, cch, cda)
new_primCmpInt(Neg(Succ(vyw280000)), Pos(vyw29000)) → LT
new_ltEs7(Right(vyw28000), Right(vyw29000), bdc, ty_Int) → new_ltEs6(vyw28000, vyw29000)
new_compare11(Double(vyw28000, vyw28001), Double(vyw29000, vyw29001)) → new_compare8(new_sr(vyw28000, vyw29000), new_sr(vyw28001, vyw29001))
new_compare15(vyw28000, vyw29000, ce, cf, cg) → new_compare26(vyw28000, vyw29000, new_esEs7(vyw28000, vyw29000, ce, cf, cg), ce, cf, cg)
new_not(True) → False
new_ltEs19(vyw2800, vyw2900, ty_Ordering) → new_ltEs13(vyw2800, vyw2900)
new_esEs5(Left(vyw300), Left(vyw4000), ty_Char, cge) → new_esEs17(vyw300, vyw4000)
new_ltEs4(@2(vyw28000, vyw28001), @2(vyw29000, vyw29001), bd, be) → new_pePe(new_lt4(vyw28000, vyw29000, bd), new_asAs(new_esEs8(vyw28000, vyw29000, bd), new_ltEs5(vyw28001, vyw29001, be)))
new_compare6(vyw28000, vyw29000, app(app(ty_@2, baf), bag)) → new_compare7(vyw28000, vyw29000, baf, bag)

The set Q consists of the following terms:

new_compare6(x0, x1, app(app(ty_@2, x2), x3))
new_pePe(True, x0)
new_ltEs7(Left(x0), Left(x1), ty_Char, x2)
new_compare114(x0, x1, True, x2, x3)
new_esEs21(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(ty_[], x2))
new_compare6(x0, x1, ty_Bool)
new_ltEs20(x0, x1, ty_@0)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_ltEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Char)
new_esEs5(Right(x0), Right(x1), x2, ty_Int)
new_esEs14(EQ, GT)
new_esEs14(GT, EQ)
new_compare24(x0, x1, True, x2, x3)
new_ltEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs21(x0, x1, ty_Float)
new_esEs20(x0, x1, ty_Float)
new_ltEs12(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primPlusNat1(Succ(x0), Succ(x1))
new_compare6(x0, x1, ty_Float)
new_esEs24(x0, x1, ty_Char)
new_ltEs15(x0, x1)
new_pePe(False, x0)
new_esEs8(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt4(x0, x1, ty_Integer)
new_lt4(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Float)
new_compare110(x0, x1, False, x2, x3)
new_esEs23(x0, x1, ty_Double)
new_esEs24(x0, x1, ty_Bool)
new_esEs9(x0, x1)
new_esEs20(x0, x1, ty_Integer)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Int)
new_compare25(Just(x0), Just(x1), False, x2)
new_esEs28(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Char)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_ltEs12(Just(x0), Nothing, x1)
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt4(x0, x1, app(ty_Maybe, x2))
new_esEs22(x0, x1, ty_Ordering)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_compare6(x0, x1, ty_Double)
new_ltEs18(x0, x1)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs25(x0, x1, ty_Float)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_lt9(x0, x1, x2)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, ty_@0)
new_esEs24(x0, x1, ty_Int)
new_ltEs7(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs8(True, True)
new_primCmpNat0(Succ(x0), Succ(x1))
new_ltEs19(x0, x1, ty_Int)
new_esEs6(Just(x0), Just(x1), app(ty_[], x2))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs30(x0, x1, ty_Integer)
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_compare6(x0, x1, ty_Ordering)
new_esEs6(Just(x0), Nothing, x1)
new_lt20(x0, x1, ty_Char)
new_compare13(x0, x1, x2)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_esEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_compare12(:%(x0, x1), :%(x2, x3), ty_Int)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(Just(x0), Just(x1), ty_Char)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare28(x0, x1, True)
new_ltEs12(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs11([], :(x0, x1), x2)
new_ltEs12(Just(x0), Just(x1), ty_@0)
new_esEs14(LT, GT)
new_esEs14(GT, LT)
new_lt19(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_asAs(True, x0)
new_esEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs12(Just(x0), Just(x1), app(ty_Ratio, x2))
new_ltEs5(x0, x1, ty_Double)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primEqNat0(Zero, Zero)
new_esEs25(x0, x1, ty_Int)
new_esEs29(x0, x1, ty_@0)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, ty_Bool)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare111(x0, x1, False)
new_primEqNat0(Succ(x0), Zero)
new_ltEs13(EQ, EQ)
new_lt20(x0, x1, app(ty_[], x2))
new_ltEs7(Right(x0), Right(x1), x2, ty_Double)
new_lt19(x0, x1, app(ty_[], x2))
new_esEs19(x0, x1, ty_Bool)
new_compare6(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs27(x0, x1, ty_Int)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Integer)
new_esEs23(x0, x1, ty_@0)
new_ltEs10(x0, x1)
new_lt8(x0, x1)
new_primMulNat0(Zero, Zero)
new_lt13(x0, x1)
new_compare113(x0, x1, True)
new_esEs29(x0, x1, ty_Int)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs10(False, True)
new_esEs10(True, False)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_lt5(x0, x1, x2, x3)
new_esEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primMulNat0(Zero, Succ(x0))
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Bool)
new_esEs22(x0, x1, ty_Float)
new_esEs20(x0, x1, ty_Int)
new_esEs6(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs5(Right(x0), Right(x1), x2, ty_Float)
new_ltEs13(LT, EQ)
new_ltEs13(EQ, LT)
new_primPlusNat0(Succ(x0), x1)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs5(Left(x0), Left(x1), ty_Integer, x2)
new_esEs19(x0, x1, ty_Integer)
new_esEs22(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Integer)
new_esEs19(x0, x1, ty_Ordering)
new_ltEs12(Just(x0), Just(x1), ty_Bool)
new_esEs26(x0, x1, ty_@0)
new_esEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_compare15(x0, x1, x2, x3, x4)
new_ltEs9(x0, x1, x2)
new_sr(x0, x1)
new_primCmpNat0(Zero, Succ(x0))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_esEs30(x0, x1, ty_Double)
new_esEs24(x0, x1, app(ty_[], x2))
new_lt4(x0, x1, ty_Double)
new_primEqNat0(Zero, Succ(x0))
new_esEs23(x0, x1, ty_Bool)
new_esEs30(x0, x1, ty_@0)
new_asAs(False, x0)
new_esEs24(x0, x1, ty_Double)
new_esEs29(x0, x1, ty_Integer)
new_compare0(:(x0, x1), [], x2)
new_ltEs6(x0, x1)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, ty_Ordering)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs24(x0, x1, ty_Integer)
new_esEs8(x0, x1, ty_Char)
new_compare27(x0, x1, True, x2, x3)
new_esEs20(x0, x1, ty_@0)
new_esEs6(Nothing, Nothing, x0)
new_compare28(x0, x1, False)
new_esEs22(x0, x1, ty_@0)
new_esEs6(Just(x0), Just(x1), ty_Bool)
new_lt4(x0, x1, ty_Int)
new_ltEs7(Left(x0), Right(x1), x2, x3)
new_ltEs7(Right(x0), Left(x1), x2, x3)
new_compare26(x0, x1, True, x2, x3, x4)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_compare16(@0, @0)
new_esEs5(Right(x0), Right(x1), x2, ty_Char)
new_ltEs19(x0, x1, ty_Bool)
new_esEs6(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs12(Double(x0, x1), Double(x2, x3))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_compare17(Float(x0, x1), Float(x2, x3))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, ty_Float)
new_esEs6(Just(x0), Just(x1), ty_@0)
new_esEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs12(Just(x0), Just(x1), ty_Double)
new_ltEs5(x0, x1, ty_Integer)
new_ltEs14(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_primPlusNat1(Zero, Zero)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs14(LT, LT)
new_esEs10(True, True)
new_esEs24(x0, x1, ty_Float)
new_esEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs19(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Double)
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Integer)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, app(ty_[], x2))
new_ltEs4(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs30(x0, x1, ty_Int)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_lt19(x0, x1, ty_@0)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare113(x0, x1, False)
new_compare6(x0, x1, ty_Integer)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11([], [], x0)
new_esEs8(x0, x1, ty_@0)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs6(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_primCompAux0(x0, x1, x2, x3)
new_esEs5(Right(x0), Right(x1), x2, ty_Double)
new_ltEs5(x0, x1, ty_Char)
new_ltEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_lt19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(x0, x1)
new_esEs22(x0, x1, ty_Bool)
new_esEs27(x0, x1, ty_Integer)
new_ltEs7(Left(x0), Left(x1), ty_Int, x2)
new_esEs29(x0, x1, ty_Float)
new_esEs8(x0, x1, ty_Double)
new_lt20(x0, x1, ty_Integer)
new_ltEs13(EQ, GT)
new_ltEs13(GT, EQ)
new_esEs26(x0, x1, ty_Double)
new_esEs6(Just(x0), Just(x1), ty_Float)
new_ltEs5(x0, x1, app(ty_Maybe, x2))
new_ltEs7(Left(x0), Left(x1), ty_Float, x2)
new_lt12(x0, x1, x2)
new_esEs11(:(x0, x1), :(x2, x3), x4)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs5(x0, x1, app(ty_Ratio, x2))
new_ltEs7(Left(x0), Left(x1), ty_Double, x2)
new_ltEs8(False, False)
new_lt20(x0, x1, ty_Double)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(x0, x1, ty_Int)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_ltEs19(x0, x1, ty_Float)
new_ltEs7(Right(x0), Right(x1), x2, ty_Float)
new_ltEs19(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, ty_Char)
new_esEs8(x0, x1, ty_Int)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Pos(Zero))
new_esEs8(x0, x1, ty_Float)
new_esEs23(x0, x1, app(ty_[], x2))
new_ltEs8(False, True)
new_ltEs8(True, False)
new_ltEs12(Just(x0), Just(x1), app(ty_Maybe, x2))
new_ltEs7(Right(x0), Right(x1), x2, ty_Char)
new_lt4(x0, x1, ty_Bool)
new_compare115(x0, x1, True, x2, x3, x4)
new_ltEs12(Just(x0), Just(x1), ty_Int)
new_compare19(Integer(x0), Integer(x1))
new_esEs25(x0, x1, ty_Char)
new_compare9(x0, x1, x2, x3)
new_lt18(x0, x1)
new_ltEs13(LT, GT)
new_ltEs13(GT, LT)
new_primCompAux00(x0, EQ)
new_esEs21(x0, x1, ty_Double)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs6(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Zero), Neg(Zero))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_sr0(Integer(x0), Integer(x1))
new_compare110(x0, x1, True, x2, x3)
new_ltEs19(x0, x1, ty_Char)
new_lt4(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, ty_Double)
new_compare18(Char(x0), Char(x1))
new_esEs8(x0, x1, ty_Bool)
new_ltEs5(x0, x1, ty_Bool)
new_esEs6(Just(x0), Just(x1), ty_Ordering)
new_esEs20(x0, x1, ty_Bool)
new_esEs6(Just(x0), Just(x1), ty_Integer)
new_compare8(x0, x1)
new_compare7(x0, x1, x2, x3)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs12(Just(x0), Just(x1), ty_Float)
new_ltEs19(x0, x1, ty_@0)
new_compare0([], :(x0, x1), x2)
new_ltEs7(Left(x0), Left(x1), ty_Integer, x2)
new_primCompAux00(x0, LT)
new_esEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_lt17(x0, x1)
new_lt4(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs18(Integer(x0), Integer(x1))
new_lt20(x0, x1, ty_Bool)
new_esEs29(x0, x1, ty_Bool)
new_lt4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs21(x0, x1, app(ty_[], x2))
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs17(Char(x0), Char(x1))
new_esEs19(x0, x1, ty_Double)
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_compare26(x0, x1, False, x2, x3, x4)
new_esEs19(x0, x1, app(ty_[], x2))
new_lt6(x0, x1)
new_lt19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Bool)
new_lt4(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, ty_Int)
new_ltEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_lt19(x0, x1, ty_Ordering)
new_esEs23(x0, x1, ty_Int)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs7(Left(x0), Left(x1), ty_@0, x2)
new_esEs5(Left(x0), Right(x1), x2, x3)
new_esEs5(Right(x0), Left(x1), x2, x3)
new_lt19(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Bool)
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_lt19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Ordering)
new_ltEs7(Right(x0), Right(x1), x2, ty_Bool)
new_esEs23(x0, x1, ty_Char)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs6(Nothing, Just(x0), x1)
new_primCmpNat0(Zero, Zero)
new_esEs6(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt4(x0, x1, ty_Char)
new_ltEs7(Right(x0), Right(x1), x2, ty_Int)
new_esEs5(Left(x0), Left(x1), ty_Bool, x2)
new_esEs10(False, False)
new_compare112(x0, x1, True, x2)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(x0, x1, ty_Char)
new_primPlusNat1(Zero, Succ(x0))
new_lt20(x0, x1, ty_Int)
new_ltEs13(LT, LT)
new_esEs5(Left(x0), Left(x1), ty_Int, x2)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_ltEs5(x0, x1, app(app(ty_@2, x2), x3))
new_lt19(x0, x1, ty_Bool)
new_esEs15(@0, @0)
new_esEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs30(x0, x1, ty_Ordering)
new_esEs22(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_Char)
new_compare6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Just(x0), Just(x1), ty_Char)
new_esEs6(Just(x0), Just(x1), ty_Double)
new_esEs30(x0, x1, ty_Float)
new_compare24(x0, x1, False, x2, x3)
new_ltEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs12(Nothing, Nothing, x0)
new_esEs25(x0, x1, ty_Bool)
new_primCmpNat0(Succ(x0), Zero)
new_compare6(x0, x1, app(ty_Maybe, x2))
new_ltEs12(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_compare25(Just(x0), Nothing, False, x1)
new_esEs5(Right(x0), Right(x1), x2, ty_Integer)
new_lt19(x0, x1, ty_Double)
new_ltEs5(x0, x1, ty_Int)
new_ltEs13(GT, GT)
new_ltEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs19(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Double)
new_esEs16(Float(x0, x1), Float(x2, x3))
new_esEs11(:(x0, x1), [], x2)
new_lt14(x0, x1, x2, x3, x4)
new_esEs24(x0, x1, ty_@0)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_lt11(x0, x1, x2)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_compare14(x0, x1)
new_not(True)
new_lt19(x0, x1, ty_Float)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_compare23(x0, x1, False)
new_ltEs11(x0, x1, x2)
new_ltEs5(x0, x1, ty_Ordering)
new_ltEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_lt4(x0, x1, ty_Ordering)
new_compare27(x0, x1, False, x2, x3)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_lt4(x0, x1, ty_@0)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_not(False)
new_primCompAux00(x0, GT)
new_esEs23(x0, x1, ty_Integer)
new_lt15(x0, x1)
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs8(x0, x1, ty_Integer)
new_esEs20(x0, x1, ty_Double)
new_esEs25(x0, x1, ty_@0)
new_ltEs5(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare111(x0, x1, True)
new_compare6(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Int)
new_esEs5(Left(x0), Left(x1), ty_Double, x2)
new_ltEs17(x0, x1)
new_lt7(x0, x1, x2, x3)
new_esEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Nothing, Just(x0), x1)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(Just(x0), Just(x1), ty_Integer)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs14(EQ, LT)
new_esEs14(LT, EQ)
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_compare6(x0, x1, ty_Int)
new_esEs5(Left(x0), Left(x1), ty_Float, x2)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Ordering)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_compare23(x0, x1, True)
new_compare115(x0, x1, False, x2, x3, x4)
new_esEs5(Left(x0), Left(x1), ty_@0, x2)
new_esEs14(GT, GT)
new_ltEs16(x0, x1)
new_compare25(x0, x1, True, x2)
new_esEs19(x0, x1, ty_@0)
new_esEs6(Just(x0), Just(x1), ty_Int)
new_esEs19(x0, x1, ty_Float)
new_lt4(x0, x1, ty_Float)
new_compare11(Double(x0, x1), Double(x2, x3))
new_esEs20(x0, x1, ty_Char)
new_esEs7(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt19(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Char)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_compare114(x0, x1, False, x2, x3)
new_esEs25(x0, x1, ty_Double)
new_compare6(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs14(EQ, EQ)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_compare6(x0, x1, app(ty_Ratio, x2))
new_compare25(Nothing, Just(x0), False, x1)
new_compare6(x0, x1, ty_@0)
new_lt19(x0, x1, app(ty_Ratio, x2))
new_ltEs12(Just(x0), Just(x1), ty_Ordering)
new_esEs20(x0, x1, ty_Ordering)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_primEqNat0(Succ(x0), Succ(x1))
new_primEqInt(Pos(Zero), Pos(Zero))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_lt19(x0, x1, ty_Int)
new_compare112(x0, x1, False, x2)
new_ltEs7(Left(x0), Left(x1), ty_Bool, x2)
new_esEs5(Left(x0), Left(x1), ty_Char, x2)
new_esEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(x0, x1, ty_Ordering)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_compare25(Nothing, Nothing, False, x0)
new_lt16(x0, x1)
new_esEs21(x0, x1, ty_Ordering)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare0(:(x0, x1), :(x2, x3), x4)
new_esEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_ltEs5(x0, x1, ty_@0)
new_esEs5(Right(x0), Right(x1), x2, ty_@0)
new_primMulNat0(Succ(x0), Zero)
new_compare0([], [], x0)
new_primPlusNat0(Zero, x0)
new_esEs5(Right(x0), Right(x1), x2, ty_Bool)
new_lt20(x0, x1, ty_Float)
new_lt10(x0, x1)
new_ltEs7(Right(x0), Right(x1), x2, ty_@0)
new_ltEs20(x0, x1, ty_Float)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs: